如果我有像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()
来阅读文字。
但是现在想要这些十六进制值我怎么能得到这个?
答案 0 :(得分:4)
使用FileStream
打开,然后使用Read
获取byte
的数组。对于数组中的每个元素,使用byteVal.ToString("x2")
转换为十六进制对(如果需要大写十六进制,请使用X2
。)
答案 1 :(得分:3)
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