Visual c#十六进制代码到文本文件

时间:2013-06-29 18:16:32

标签: c#

我正在尝试创建一个将hex转换为文本文件的小程序,以便我可以阅读其中的内容。我的意思是我有一个.dat文件,但我想知道它在字段中的含义。然后我想让它将每个值保存到看起来像这样的行

INSERT INTO `database` VALUES ('813000', '12ÐÇXOÀñ°ü', '0', '0', '0', '0', '0', '0', '0', '0', '28', '0', '0', '3900340', '0', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '00', '00', '00', '0000', '0000', '0', '0', '138');

这是十六进制代码

  

98B10100476C69747465727942656C740000000014001900000000000000000000000000E505000000000000000000005400000000000000000088138813000000000000000035000000000000000000000000000000000052696768747E636C69636B7E746F7E65717569707E6F6E7E77616973742E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

我知道这是什么意思,因为我经过手工完成,但这是一个很长的路要走。以上十六进制转换为我需要它的形式

INSERT INTO `cq_itemtype` VALUES ('111000', 'GlitteryBelt', '20', '0', '25', '0', '0', '0', '0', '0', '0', '0', '1509', '0', '0', '0', '84', '0', '0', '0', '0', '5000', '5000', '0', '0', '0', '0', '0', '0', '0', '53', '00', '00', '00', '0000', '0000', '0', '0', '0');

我是C#的新手还在学习。我有上面几千个十六进制代码,我需要翻译...所以即使是一个简单的代码,也会给我提供每个hex部分意味着什么。

1 个答案:

答案 0 :(得分:0)

您可以尝试以下方法:

public string ConvertHexToString(string hexInput, System.Text.Encoding encoding)
{
    int numberChars = hexInput.Length;
    byte[] bytes = new byte[numberChars / 2];
    for (int i = 0; i < numberChars; i += 2)
    {
        bytes[i / 2] = Convert.ToByte(hexInput.Substring(i, 2), 16);
    }
    return encoding.GetString(bytes);
}

并使用如下:

string hex = "Your hex";
string result = ConvertHexToString(hex, System.Text.Encoding.Unicode);