Чтобы прочитать шестнадцатеричное значение файла .txt в c # - PullRequest
1 голос
/ 18 июля 2011

Если у меня есть какой-нибудь текстовый файл, такой как abc.txt, я хочу получить шестнадцатеричное значение этого файла .txt как мы видим, когда мы открываем блокнот + можно нажать на гекс ... что-то вроде этого

74 68 65 72 77 69 73 65 20 69 73 20 69 74 63 68    
therwise is itch

69 6e 27 20 66 6f 72 20 61 20 66 69 67 68 74 2e     
in' for a fight.

Теперь я хочу эти шестнадцатеричные значения отдельных букв.

Я знаю, как читать текст, используя FileStream() и StreamReader().

Но теперь хотите эти шестнадцатеричные значения, как я могу получить это?

Ответы [ 2 ]

4 голосов
/ 18 июля 2011

Открыть с помощью FileStream, затем с помощью Read получить массивы byte.Для каждого элемента в массиве преобразуйте в шестнадцатеричную пару с byteVal.ToString("x2") (используйте X2, если хотите использовать шестнадцатеричный регистр в верхнем регистре).

3 голосов
/ 18 июля 2011
BinaryReader reader = new BinaryReader(new FileStream("C:\\file.ext", FileMode.Open, FileAccess.Read, FileShare.None));
reader.BaseStream.Position = 0x0;     // The offset you are reading the data from
byte[] data = reader.ReadBytes(0x10); // Read 16 bytes into an array
reader.Close();

Таким образом, предполагая, что ввод therwise is itch:

string data_as_str = Encoding.Default.GetString(data); // Output: therwise is itch
string data_as_hex = BitConverter.ToString(data);      // Output: 74-68-65-72-77-69-73-65-20-69-73-20-69-74-63-68
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...