An diesem Punkt die meisten Leute denken, „diese Ah krank Post ..:“C# umwandeln String in seine byte [] äquivalent
byte[] dataB= System.Text.Encoding.ASCII.GetBytes(data);
aber .. ich habe das Problem ist ich brauche den genauen Wert von die Bytes ohne Codierung nur den reinen Wert für jedes Byte. Zum Beispiel, wenn der Wert der Zeichenkette (0xFF32) ist, möchte ich es auch umwandeln {255,50}. Der Grund dafür ist, dass ich ein Dateiformat habe, das ich zu lesen versuche, das Int speichert, wie Bytes sie speichert und dann liest, wenn das Programm geöffnet wird. Diese
ist das, was ich bisher:
...
dialog.InitialDirectory =
Environment.GetFolderPath(System.Environment.SpecialFolder.Desktop) +
"/Test";
dialog.Title="Open File";
if (dialog.ShowDialog(this) == DialogResult.OK)
{
StreamReader reader = new StreamReader(dialog.FileName);
string data = reader.ReadToEnd();
reader.Close();
byte[] fileC = System.Text.Encoding.ASCII.GetBytes(data);
File_Read(dialog.FileName,fileC);
}
...
Also, wenn ich versuche, und lesen Sie die Datei es die Datei Klöster wandelt von sagen 0xFF in 0x3F weil 0xFF ist größer als 127 und 0x3F ist?.
Sorry, wenn ich scheine ein wenig verwirrend :)
Danke, Michael
Ich verstehe, wie Dateien Bit-Bytes und all das Shizzle arbeiten, weshalb ich imstande bin, (64) eine Ganzzahl als 8 Bytes zu speichern, wusste ich einfach nicht wie zu bekommen bei der Info :); thansk für Ihre Hilfe – redorkulated
Aber behandeln eine Datei, als ob es Text enthält, wenn es nicht ist, ist ein grundlegendes Missverständnis, das * so * viele Leute brennt. Jedes Mal, wenn Sie anfangen, über "den Inhalt eines Strings als Bytes ohne eine Kodierung" nachzudenken, bedeutet dies fast sicher, dass ein Fehler lauert. –
Ich betrachtete nicht die "Zeichenfolge" als Text in diesem Fall Ich versuchte, nur die reine Binärdatei als das ist, was die Datei speichert. Ich verstehe Ihren Punkt, obwohl, also danke :) – redorkulated