2015-11-25 17 views
7

Ben bir dosyaya ham bayt değerlerini yazıyorum: Değerler = 127 < olduğunda, herşey yolundaBinaryWriter.Write (bayt değeri) sorunu olduğunda değer> 127

  • .
  • Ama bir bayt> 127 ise, hepsi dağınık olur.

Zaten hiçbir başarı ile, kodlama biçimini ve bu tür değiştirmeyi denedim.

01 02 7F 80 

Ama benim olsun:

Yukarıdaki Kodu
public static void Generate() 
{ 
    var fileName = "Test.bin"; 

    if (File.Exists(fileName)) 
     File.Delete(fileName); 

    using (var binaryWriter = new BinaryWriter(File.Open(fileName, FileMode.Create))) 
    { 
     var byteArray = new byte[] {0x01, 0x02, 0x7F, 0x80}; 

     foreach (var b in byteArray) 
     { 
      binaryWriter.Write(b); 
     } 
    } 
} 

, sonuç dosyası olmalıdır oluyor whats

01 02 7F D0 90 

Herhangi ipucu? http://pastebin.com/0Cfv3Snc

İşte oluşturulan dosyaları var: Ben iki PC'ler hiçbirinde çalışmıyor http://postimg.org/image/55un9lar1/

İşte bir test uygulaması var. Windows 10 üzerinde .NET 4.0 çalıştırılıyor.

+0

'BinaryWriter', dosyaya bir dizi yazmak için aşırı vardır var sadece' binaryWriter.Write (ByteArray) 'kullanarak ve döngü atlama çalıştı? –

+0

Evet, bunu da denedim. –

+3

Yeniden üretemiyorum, kodunuzun bir kopyası/yapıştırımı sistemimde beklenen dosyanızı üretir. –

cevap

0

Çözüldü, herhangi bir sorun yoktu.

Notepad ++ Hex Editör şov yanlış veri (olsa da, ben ham verileri basitçe göstermek için beklenen neden bilmiyorum) idi, problemdi.