转换unicode字符(C#)测试



有以下问题

我使用的是一个从数据库返回值的SDK。

我需要的值是4、6、7,但SDK返回"\u0004"、"\u0006"、"\u0007"。我想知道是否有办法检查它是"\u0003"、"\\u0006"one_answers"\u0007"或其他方法?

我有以下代码(C#):

Line_Type = Line_Type.Replace(@"u000", "");
if (Line_Type == "4")
{
    Line_Type = "4";
}
else if (Line_Type == "6")
{
    Line_Type = "6";
}
else if (Line_Type == "7")
{
    Line_Type = "7";
}

我尝试了多种方法来完成这项工作,但找不到正确的方法来完成。

我用谷歌搜索了一下,但什么也找不到。

从您的问题中,我了解到SDK以unicoded样式返回值。然后,您可以使用以下代码将unicode值转换为各自的十进制值。

char uniCodeValue = char.Parse(Line_Type);//  'u0004' unicode values
int decimalValue = uniCodeValue;
Console.Write(decimalValue.ToString()); // prints 4

希望你的问题得到解决!!

在替换调用中,"\u"被视为转义符。如果使用double\,则会得到字符串"\u0009";检查这两者之间的区别:

Console.WriteLine ("u0009");
Console.WriteLine ("\u0009");

第二个打印要用空字符串替换的字符串。

最新更新