Unicode字面字符串

19

我会发送一些JSON在HTTP POST请求中。JSON对象内的一些文本应该是上标。

如果我在C#中像这样创建字符串:

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

...它将\u00B9转换为实际的上标1,这会破坏我的JSON。我希望\u00B9正好显示为我在字符串中编写的方式,而不是作为上标。

如果我添加转义字符,则会显示为: "这里是我的上标:\\u00B9"

我不想使用转义字符,但也不希望它被转换为实际的上标。是否有一种方法可以让C#不进行Unicode转换,并将其保留为字面值:“\u00B9”?

3个回答

31

13

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


2

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接