2016-11-15 3 views
0

Ich schreibe ein paar Bytes in eine neu erstellte Datei in Visual Basic. Der folgende Code wird ausgeführt:Falsches Byte wird in Datei geschrieben

compressedFileStream.WriteByte(&H00) 
compressedFileStream.WriteByte(&H00) 
compressedFileStream.WriteByte(&H00) 
compressedFileStream.WriteByte(&H00) 
compressedFileStream.WriteByte(&H00) 
compressedFileStream.WriteByte(&HD5) 
compressedFileStream.WriteByte(&H55) 
compressedFileStream.WriteByte(&H6E) 
compressedFileStream.WriteByte(&H49) 

Leider ist der Ausgang nicht das, was ich geschrieben habe. Mit Notepad ++ Ich sehe dieses Ergebnis:

Actual Result

Erstellung von compressedFileStream:

Using compressedFileStream As FileStream = File.Create(ArchivePath & ".zip") 

Die D0 und B5 sind falsch. Nach diesen zwei Bytes, die magisch erschienen sind, wird es mit den korrekten Bytes (55, 6E und 49) fortfahren. Hat jemand das tatsächlich erlebt oder weiss jemand was das bewirken kann?

+0

kann Problem mit der Dateicodierung sein – lordkain

+0

Wie erstellen Sie 'compressedFileStream'? – wdosanjos

+0

Ich habe die Erstellung von compressedFileStream zu OP –

Antwort

1

Ich habe Ihren Code versucht und es funktioniert wie erwartet. Gibt es einen anderen Prozess, der stattfindet, nachdem die WriteByte Anweisungen ausgeführt wurden?

Oder vielleicht spielt Notepad ++ Ihnen Streiche.

+0

Es war tatsächlich Notepad ++ Tricks auf mich spielen. Ein anderer Hex-Editor zeigt die korrekten Ergebnisse an. Vielen Dank! –

Verwandte Themen