【发布时间】:2013-07-22 01:35:49
【问题描述】:
var stringu = @"\u003cbr /\u003e\u003cbr /\u003eHello world";
这里的背景 - 我正在使用 HttpClient 请求数据,并且正在获取 UTF-8 格式的 JSON 字符串(内容类型:application/json;charset=utf-8 是响应的标头)。
为了模拟内容转换我写了这段代码
var stringu = @"\u003cbr /\u003e\u003cbr /\u003eHello world";
var ubytes = Encoding.UTF8.GetBytes(stringu);
var asciibytes = Encoding.Convert(Encoding.Unicode, Encoding.UTF8, ubytes);
var ascii = Encoding.UTF8.GetString(asciibytes);
Console.WriteLine(ascii);
Console.ReadKey();
但这不起作用。 我承认 - 我不完全理解 UTF-16/8 转换(或者即使我需要这样做,考虑到我只是将返回的字节输出到一个 html 文件),所以这里的任何帮助表示赞赏。
【问题讨论】:
-
我很不清楚你想要得到什么结果 - 我希望 JSON 库能够为你处理所有这些。
-
为什么使用 ascii?为什么不是 UTF16? .NET 的内部 char 类型?
-
Hello world - 是我想要的控制台输出 -
@ColeJohnson 显示的字符串只是作为 http 请求响应返回的 UTF-8 字符串的 sn-p
-
这里有一个小提示。您不能在控制台中使用
。它不是 HTML。此外,该字符串可能已经被写入。您的代码只是将其转换为 ASCII,然后通过将其转换为字符串返回 UTF-16。