我们有一个 keyMaterial 十六进制字符串。看起来像这样
453F1287225ED9971D389A35F8D1032E7748DD0B88302F7C6C194626D4C8659B000000000E800000000200002000000047C2CA7B9A1F1C343CA228CC314A42F0 63A240E17624F886AF6CE9A135CAF65310000000D30489E536548F129E43240A26344811400000009EE2F5549B1447548ADADDD60A212C22DC2F9B2DC67D8E567B48B3 847A525244A2F575AAFFB3AECD0385612BE7C38CA403BE6B5DFA8BEDEFBFA35C5ECC1818AB
您可以看到整个文件。我们如何使用 C# 将这个十六进制代码转换为普通文本字符串?我有一些关于 C++ 的例子,但它对我没有帮助。你能给个建议吗?
该字符串的编码是16291388(但这不是问题的解决方案)
如果您从此处获取转换方法,并使用正确的编码通过转换结果字节数组来扩展该方法,那么您就可以了。
public static byte[] StringToByteArray(String hex)
{
int NumberChars = hex.Length;
byte[] bytes = new byte[NumberChars / 2];
for (int i = 0; i < NumberChars; i += 2)
bytes[i / 2] = Convert.ToByte(hex.Substring(i, 2), 16);
return bytes;
}
// use UTF8 in this sample:
string output = Encoding.UTF8.GetString(StringToByteArray(hex));
Run Code Online (Sandbox Code Playgroud)