En este punto, la mayoría de la gente va a estar pensando "Ah mal puesto esto ..:"C# convierten cadena en su byte [] equivalente
byte[] dataB= System.Text.Encoding.ASCII.GetBytes(data);
Sin embargo .. el problema que tengo es que necesito el valor exacto de los bytes sin codificación solo el valor puro para cada byte. Por ejemplo, si el valor de la cadena es (0xFF32), quiero que también lo convierta {255,50}. La razón de esto es que tengo un formato de archivo. Estoy intentando leer qué tiendas de int como bytes los guarda y luego los lee cuando se abre el programa.
Esto es lo que tengo hasta ahora:
...
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);
}
...
Así que cuando trato de leer el archivo que convierte los archivos de conventos decir 0xFF 0xFF en 0x3F porque es mayor que 127 y 0x3F es un?.
Lo siento si me parece un poco confuso :)
Gracias, Michael
entiendo cómo funcionan los bits de bits de los bits y todo lo que funciona, por eso no entiendo el almacenamiento (por ejemplo) un entero de 64 bits como 8 bytes. Simplemente no sé cómo obtener en la información :); thansk por su ayuda – redorkulated
Pero tratar un archivo como si contuviera texto cuando no lo hace es un malentendido fundamental que quema * a tantas personas. Cada vez que comienzas a pensar en "el contenido de una cadena como bytes sin una codificación", eso casi seguro significa que hay un error al acecho. –
no estaba viendo la "cadena" como texto en esta instancia, estaba tratando de obtener el binario puro, ya que eso es lo que el archivo está almacenando. Aunque entiendo tu punto, así que gracias :) – redorkulated