BitConverter
ist der richtige Ansatz.
Ihr Problem besteht darin, dass Sie nur 8 Bit zur Verfügung gestellt haben, wenn Sie 32 versprochen haben. Versuchen Sie stattdessen eine gültige 32-Bit-Zahl im Array, z. B. new byte[] { 0x32, 0, 0, 0 }
.
Wenn Sie ein Array mit beliebiger Länge konvertieren möchten, können Sie dies selbst implementieren:
%Vor% Es ist nicht klar, was der zweite Teil Ihrer Frage (mit Strings) produzieren soll, aber ich glaube, Sie wollen hexadezimale Ziffern? BitConverter
kann auch dabei helfen, wie in eine frühere Frage beschrieben.
das ist richtig, aber du bist es
fehlt, dass Convert.ToInt32
will 32 Bit (32/8 = 4 Bytes)
von Informationen, um eine Umwandlung zu machen,
Sie können also nicht nur ein Byte konvertieren:
'neues Byte [] {0x32}
absolut das gleiche Problem du hast. und vergiss nicht die Kodierung, die Sie verwenden: Von Kodierung zu Kodierung haben Sie 'unterschiedliche Anzahl von Bytes pro Symbol'
Tags und Links c#