У вас есть текстовый файл, а не двоичный файл, поэтому вы должны прочитать шестнадцатеричные строки, затем преобразовать их в соответствующее число и затем получить соответствующий символ для этого числа.
// string input = @"EE B6 45 78 FF 6A 48 40 CA BC 1B 2C 18 94 28 28
// CF EA 02 00 00 00 00 00 0E F2 DD 5A E4 38 48 48
// CA BC 1B 2C 18 94 28 40 EE B6 45 78 FF 6A 48 48 ";
string input = File.ReadAllText("yourFile.txt");
string output = new string(
input.Replace("\n"," ").Replace("\r","")
.Split(new char[]{' '},StringSplitOptions.RemoveEmptyEntries)
.Select(x=>(char)Convert.ToInt32(x,16))
.ToArray()
);
File.WriteAllText("newFile.txt",output);
//Output: î¶ExÿjH@ʼ←,↑?((Ïê☻ ♫òÝZä8HHʼ←,↑?(@î¶ExÿjHH
Вы не указали кодировку, поэтому я просто приведу гекс к символу напрямую. Чтобы указать кодировку, вы должны использовать приведенный ниже код
byte[] dataArray =
input.Replace("\n"," ").Replace("\r","")
.Split(new char[]{' '},StringSplitOptions.RemoveEmptyEntries)
.Select(x=>(byte)Convert.ToInt32(x,16))
.ToArray();
string output = Encoding.UTF8.GetString(dataArray);
Где вы можете заменить Encoding.UTF8
на нужный.