Unicode文字字符串

时间:2013-06-24 16:34:23

标签: c# json unicode unicode-literals

我在http post请求中发送一些json。 json对象中的一些文本应该有上标。

如果我在C#中创建我的字符串,如:

    string s = "here is my superscript: \u00B9";

它将\ u00B9转换为实际的上标1,这会破坏我的json。 我希望\ u00B9在我写入字符串时显示,而不是作为上标。

如果我添加一个转义字符,那么它会显示如下: “这是我的上标:\\ u00B9”

我不想使用转义字符,但我也不希望它转换为实际的上标。有没有办法让C#不进行unicode转换并将其保留为litterally:“\ u00B9”?

提前致谢

3 个答案:

答案 0 :(得分:11)

如果我正确理解你的问题...在字符串前添加at符号(@)以避免处理转义序列

 string s = @"here is my superscript: \u00B9";

http://msdn.microsoft.com/en-us/library/362314fe(v=vs.80).aspx

答案 1 :(得分:1)

我喜欢@NinjaNye的答案,但另一种方法是使用双反斜杠来使其成为字面意思。因此string s = "here is my superscript: \\u00B9"

答案 2 :(得分:0)

建议您在发送到服务器之前对字符串进行编码。您可以在客户端使用base64或URLEncode进行编码,在服务器端进行解码。