我在http post请求中发送一些json。 json对象中的一些文本应该有上标。
如果我在C#中创建我的字符串,如:
string s = "here is my superscript: \u00B9";
它将\ u00B9转换为实际的上标1,这会破坏我的json。 我希望\ u00B9在我写入字符串时显示,而不是作为上标。
如果我添加一个转义字符,那么它会显示如下: “这是我的上标:\\ u00B9”
我不想使用转义字符,但我也不希望它转换为实际的上标。有没有办法让C#不进行unicode转换并将其保留为litterally:“\ u00B9”?
提前致谢
答案 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进行编码,在服务器端进行解码。