有以下问题
我使用的是一个从数据库返回值的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");
第二个打印要用空字符串替换的字符串。