将字符串中的十六进制值转换为等效的字符串

时间:2015-12-06 12:38:53

标签: string for-loop replace hex type-conversion

所以,我一直在寻找SO和其他一些网站,寻找一种可靠的方法来转换嵌入普通字符串的十六进制值(例如,'/'在字符串中为'\ x2F')并且不是能够找到一个特别符合我需求的解决方案。

我最终做的是自己编写一些代码来处理这个问题:

for (int i = 0; i < 128; i++)
{
    string hexString = i.ToString("X").PadLeft(2, '0');
    string searchString = @"\x" + hexString;

    if (response.Contains(searchString))
    {
        int charValue = Convert.ToInt32(hexString, 16);
        string character = Char.ConvertFromUtf32(charValue);
        response = response.Replace(searchString, character);
    }
}

我的问题是:

这是一个很好的方式吗?

使用这个有什么特别的缺点吗?

此代码的目的是采用如下字符串: “之前的内容... http:\ x2F \ x2Fwww.google.com ...内容之后” 并将其转换为: “之前的内容...... http://www.google.com...after内容”

0 个答案:

没有答案