【问题标题】:Convert UTF 8 stream to UTF 16 encoding将 UTF 8 流转换为 UTF 16 编码
【发布时间】:2012-06-30 08:26:18
【问题描述】:

我得到一个 UTF8 格式的流,但我想得到一个 UTF16 格式的流,因为我在 C# 中得到了一些不受支持的国际字符。我如何实现这一目标

【问题讨论】:

  • 您在 C# 中获得了哪些“不支持的国际字符”?
  • UTF-8 可以表示每个 unicode 字符,所以我不确定将表示更改为 UTF-16 会实现什么。
  • 你能告诉我们你的代码吗?可能是您的流不是真正的 UTF-8。
  • 你能用 UTF-16 表示那些国际字符吗?

标签: c# utf-8 utf-16


【解决方案1】:

如果您得到不受支持的国际字符,您可能想要使用的编码是不是 UTF16,而是:iso-8859-1

它可以正确编码字符,例如:æ、ø、å

因此,当您声明 StreamReader 时,您需要设置要使用的编码:

var sReader = new StreamReader(hResponse.GetResponseStream,
                               Encoding.GetEncoding("ISO-8859-1"));

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2015-09-21
    • 2015-09-19
    • 1970-01-01
    • 2017-09-24
    • 1970-01-01
    • 2013-05-20
    • 2013-09-26
    • 2013-04-11
    相关资源
    最近更新 更多