【问题标题】:Converting UTF-8 encoded with Latin-1 codepage to iso-8859-1 bytes将使用 Latin-1 代码页编码的 UTF-8 转换为 iso-8859-1 字节
【发布时间】:2015-04-11 07:48:08
【问题描述】:

这是漫长的一天。我不确定我是否忽略了某些东西,或者我的问题是否没有简单的答案。

这是我的场景:

  • 我将文本数据作为字节发送到不支持 UTF-8 编码的系统。
  • 它有一个自定义字符集,但我只需要匹配 ISO-8859-1 / Latin-1 编码的字符。
  • 我收到了仅使用 ASCII 和少量仅来自 Latin-1 代码页的外来字符的 UTF-8 编码字符串数据。

在我尝试重新编码这些字符串时,我最终得到了“?”替换正在发送的外来字符、第二个 Unicode 字节或两个 Unicode 字节。

是否有一种简单的方法来获取使用 2 个字节来描述这些 Latin-1 代码页字符并将它们编码为 ISO-8859-1 字节的传入数据?

【问题讨论】:

  • 到目前为止你尝试过什么代码?

标签: java utf-8 character-encoding iso-8859-1


【解决方案1】:

在阅读器方面,您需要以下内容:

new InputStreamReader(underlyingInputStream, "UTF-8")

在作者方面:

new OutputStreamWriter(underlyingOutputStream, "ISO-8859-1")

那么您应该能够读取传入的 UTF-8 编码字符,并将它们写入 ISO-8859-1 编码字符。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-29
    • 2015-03-26
    相关资源
    最近更新 更多