简体   繁体   English

解码字符串中的十六进制字符

[英]Decode hex chars in string

From a third part i get a string like this "123123" 从第三部分中,我得到一个类似"123123"的字符串 Ill have to wrap it into some XML however i get this error System.ArgumentException: '', hexadecimal value 0x04, is an invalid character. 我必须将其包装成一些XML,但是我遇到此错误System.ArgumentException: '', hexadecimal value 0x04, is an invalid character.

Can I either decode the hex value to something meaningful, or just delete it. 我可以将十六进制值解码为有意义的值,还是将其删除。 The solution must be able to handle other hex values as well. 该解决方案还必须能够处理其他十六进制值。

I ended up creating this method 我最终创建了这种方法

public static string RemoveInvalidXmlChars(string str)
{

    var sb = new StringBuilder();
    var decodedString = HttpUtility.HtmlDecode(str);

    foreach (var c in decodedString)
    {
        if (XmlConvert.IsXmlChar(c))
            sb.Append(c);
    }

    return sb.ToString();
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM