Kleine Frage mit Bytes
Übersicht

GoblinBetreff: Kleine Frage mit Bytes |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
also...hähäm
ich verschlüssle gerade und habe eine frage: Code: [AUSKLAPPEN] a = readbyte(ursprungs_datei)
a = a +10 ;cäsar verschlüsselung Writebyte ziel_datei,a Frage: was passiert wenn a einen wert über 255 hat und dann mit Writebyte in die zieldatei geschrieben wird? (es ist zwar noch nicht passiert aber is ist wichtig) geht das oder muss ich dann sowas hier schreiben: Code: [AUSKLAPPEN] If a = 256 then a = 1
if a = 257 then a = 2 usw... oder schaltet des alleine um? ich hoffe ihr peilt was ich meine... thx |
||
![]() |
skey-z |
![]() Antworten mit Zitat ![]() |
---|---|---|
probier es doch einfach aus, dann wüsstest du das | ||
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz BAC#57: 2. Platz |
GoblinBetreff: ?! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
dann sag mir was für ein zeichen das 255. byte ist | ||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
mach doch einfach noch schnell en kleines prog:
Zitat: Writebyte datei,255
Wofür brauchste denn Zeichen?^^ |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] While byte > 255
byte = byte - 256 Wend While byte < 0 byte = byte + 256 Wend Das sollts sein |
||
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oder man nutzt gleich Mod. | ||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
![]() |
AxeBetreff: Re: Kleine Frage mit Bytes |
![]() Antworten mit Zitat ![]() |
---|---|---|
Goblin hat Folgendes geschrieben:
Ob das alleine geht oder nicht weiß ich auch nicht. Aber zur Sicherheit hilft das hier (nach der Berechnung, bevor das Byte geschrieben wird): Code: [AUSKLAPPEN] if a>255 then a=a-256 Falls du das auch mit einer Subtraktion vorhast auch noch das: Code: [AUSKLAPPEN] if a<0 then a=a+256 MfG Axe |
||
Projekte:
Ping Pong 2D Version 2.1 Weitere Infos: axesite.de |
GoblinBetreff: jo |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok dank ich habs sowiso schon aufgegegben. ich wollte ein programm coden, das mir dateien verschlüsselt. bb ist aber zu langsam. ich hab mal ausgerechnet: 1 Terrabyte würde 316 Jahre dauern. naja trotzdem danke | ||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich behaupte mal dass das nicht an BB liegt sondern an deiner Programmstruktur, denn normalerweise ist der Dateizugriff unter BB nicht grade langsam.
Abgesehen davon ist die Umpfriemelerei unnötig, solange Du keine negativen Zahlen hast. die Bytes die über dem untersten liegen werden einfach ignoriert. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab es auch mal getestet und hatte einen Datendurchsatz von 3 MB/sek.
.... ca 4 Tage für 1 TB! |
||
[BB2D | BB3D | BB+]
|
![]() |
Lunatix |
![]() Antworten mit Zitat ![]() |
---|---|---|
1. Wer will schon ein TB verschlüsseln ?!
2. Wenn ein Byte über 255 ist, fängt es wieder bei 0 an, heisst 300 = 300-255 = 45 3. Code: [AUSKLAPPEN] Print a hätte es auch getan ![]() 4. Bei einer Cäsar verschlüssellung kannst du die Bytes nicht einfach begrenzen, sonst kommen beim entschöüsseln falsche werte raus. |
||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
TB verschlüsseln war auch nur eine Hochrechnung
Verschlüsseln: (Byte+Wert%) Mod $100 Entschlüsseln: (Byte+$100-Wert%) Mod $100 |
||
[BB2D | BB3D | BB+]
|
GoblinBetreff: hier der code von meinem programm |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hier der code:
vllt findt jemand den fehler warum es so langsam istCode: [AUSKLAPPEN] Case button_verschlüsseln
If file1$ = "" Notify "Es wurde keine Datei ausgewählt!" : Goto punkt der_odschgo$ = Right$(file1$,4) If der_odschgo$ = ".gsm" Then Notify "Die angegebene Datei ist schon verschlüsselt." Goto punkt file1_zum_bearbeiten$ = file1$ file1_zum_bearbeiten$ = file1$ SetGadgetText label_status,"Status: Verschlüsseln" zieldatei = WriteFile(file1_zum_bearbeiten$+".gsm") von_datei = ReadFile(file1_zum_bearbeiten$) If von_datei = 0 Then Notify "HÄ???" groesse = FileSize(file1_zum_bearbeiten$) groesse1# = Float#(groesse) xy# = Float(1)/groesse1# Notify "Merke dir deinen Key gut!"+Chr$(13)+"Key: "+SliderValue(slider),1 Repeat a = a+1 von_file_to_file = ReadByte(von_datei) von_file_to_file = von_file_to_file +SliderValue(slider) If von_file_to_file > 255 Then von_file_to_file = von_file_to_file - 255 WriteByte zieldatei,von_file_to_file SetStatusText(window,"Byte: "+a+"/"+groesse) SetGadgetText window,a+"/"+groesse xy# = xy# + Float(1)/groesse1# UpdateProgBar progbar,xy# Until Eof(von_datei) SetGadgetText window,"Goblin Secret Maker" CloseFile von_datei CloseFile zieldatei UpdateProgBar progbar,1.0 Notify "Fertig" : Goto punkt Case button_entschlüsseln If file1$ = "" Notify "Es wurde keine Datei ausgewählt!" : Goto punkt der_odschgo$ = Right$(file1$,4) If der_odschgo$ <> ".gsm" Then Notify "Die angegebene Datei ist nicht verschlüsselt." Goto punkt file1_zum_bearbeiten$ = file1$ von_datei = ReadFile(file1$) a_len_1 = Len(file1$) file1_file2$ = Left$(file1$,a_len_1-4) zieldatei = WriteFile(file1_file2$) If von_datei = 0 Then Notify "HÄ???" groesse = FileSize(file1_zum_bearbeiten$) groesse1# = Float#(groesse) xy# = Float(1)/groesse1# a = 0 Repeat a = a+1 von_file_to_file = ReadByte(von_datei) von_file_to_file = von_file_to_file - SliderValue(slider) If von_file_to_file < 0 Then von_file_to_file = von_file_to_file + 255 WriteByte zieldatei,von_file_to_file SetStatusText(window,"Byte: "+a+"/"+groesse) SetGadgetText window,a+"/"+groesse xy# = xy# + Float(1)/groesse1# UpdateProgBar progbar,xy# Until Eof(von_datei) SetGadgetText window,"Goblin Secret Maker" CloseFile von_datei CloseFile zieldatei UpdateProgBar progbar,1.0 Notify "Fertig" : Goto punkt ja... |
||
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
was mir spontan auffällt:
bei jedem Byte wird das Fenster geuppt, das wird Speedbremse NR1 sein Code: [AUSKLAPPEN] ...
SetStatusText(window,"Byte: "+a+"/"+groesse) SetGadgetText window,a+"/"+groesse ... UpdateProgBar progbar,xy# ... Hier noch meine Testversion...Code: [AUSKLAPPEN] Name$="Unbenannt.bmp"
Time = MilliSecs() ; Codieren (Name$,10) ; DeCodieren ("cod_"+Name$,10) ; time = MilliSecs()-Time Print time WaitKey Function DeCodieren (Pfad1$,Wert%,Pfad2$="") Dat1% = ReadFile (Pfad1$) If Dat1 = 0 Then RuntimeError "Datei 1 Fehler" If Pfad2$="" Then Pfad2$="Decod_"+pfad1$ Dat2% = WriteFile (Pfad2$) If Dat2 = 0 Then RuntimeError "Datei 2 Fehler" While Not Eof (Dat1%) Byte = ReadByte (Dat1%) WriteByte (Dat2%,(Byte+$100-Wert%) Mod $100) Wend CloseFile Dat1% CloseFile Dat2% End Function Function Codieren (Pfad1$,Wert%,Pfad2$="") Dat1% = ReadFile (Pfad1$) If Dat1 = 0 Then RuntimeError "Datei 1 Fehler" If Pfad2$="" Then Pfad2$="cod_"+pfad1$ Dat2% = WriteFile (Pfad2$) If Dat2 = 0 Then RuntimeError "Datei 2 Fehler" While Not Eof (Dat1%) Byte = ReadByte (Dat1%) WriteByte (Dat2%,(Byte+Wert%) Mod $100) Wend CloseFile Dat1% CloseFile Dat2% End Function |
||
[BB2D | BB3D | BB+]
|
GoblinBetreff: ? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich würde den fortschritt aber gerne in einem Ladebalken anzeigen. Geht dass auch noch anders? | ||
![]() |
Axe |
![]() Antworten mit Zitat ![]() |
---|---|---|
du musst die Aktualisierung ja nicht ebi jedem Byte machen. Alle Hundert oder tausend reicht.
Code: [AUSKLAPPEN] if groesse Mod 100=0 then aktualisieren
|
||
Projekte:
Ping Pong 2D Version 2.1 Weitere Infos: axesite.de |
GoblinBetreff: ok |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ah ok dnake | ||
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Junk:
Du musst minus 256 machen, sonst würdest du byte 0 mit byte 255 gleichsetzen. |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
GoblinBetreff: juhu |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
klappt zwar schon schneller aber 3mb/sec schaff ich au no ned | ||
GoblinBetreff: @Ralliman |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich schff jetz 1mb/7sec wie hast du 3mb/sec geschfft?
hier mein code: vllt kann man ja noch was optimieren!Code: [AUSKLAPPEN] Function DeCodieren(file$,key,window)
zieldatei = WriteFile(file$+".gsm") von_datei = ReadFile(file$) groesse = FileSize(file$) Repeat a = a+1 von_file_to_file = ReadByte(von_datei) von_file_to_file = von_file_to_file + key If von_file_to_file > 255 Then von_file_to_file = von_file_to_file - 256 WriteByte zieldatei,von_file_to_file If a = 1000000 Then b = b+1 : a = 0 : SetStatusText window,b+" mb" Until Eof(von_datei) End Function |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group