我嘗試一個解決方案,以格式「二進制」(.bin), 像xxd命令轉換字符串十六進制值。C#如何將字符串十六進制值轉換爲「bin」像xxd
例子: 我有一個字符串hexValue 「17c7dfef853adcddb2c4b71dd8d0b3e3363636363」
在Linux上,我要像下一個結果:
回聲 「hexvalue」> file.hex 貓file.hex | XXD -r -p> file.bin
的file.bin得到hexdump都:
0000000 17 C7 DF的EF 85 3A DC DD B2 C4 B7 1D D8 D0 B3 E3
我對這個轉換計劃是:
Private static string convertHex(string value)
{
string[] hexVal = value.Split(' ');
StringBuilder s = new StringBuilder();
foreach (string hex in hexVal)
{
int val = Convert.ToInt32(hex, 16);
string stringValue = char.ConvertFromUtf32(val);
s.Append(stringValue);
}
return s.ToString();
}
string MyString = "17 c7 df ef 85 3a dc dd b2 c4 b7 1d d8 d0 b3 e3 36 36 36 36 36";
string newString = converthex(MyString);
Console.WriteLine(newString);
File.WriteAllText("file2.bin", newString);
所以,現在,WH烯看file2.bin的hexdump都,我看到:
0000000 17 87 C3 C3 C3 97 AF C2 85 C3 3A 9C 9D C3 C2 B2
0000010 C3 84 C2 B7 1D C3 98 C3 90 C2 b3 a3 36 36 36
爲什麼c3或c2存在於我的新文件中? 你有解決方案嗎?
感謝您的幫助!
哼,好的,這是我的false.My程序必須計算十六進制字符串中的md5sum;以二進制格式。但是,我沒有看到,我的函數md5它調用utf8.getstring。 好的,這很好,在你的幫助下。謝謝。有一天這個.. OMG !! – Tybbow