将使用 Latin-1 代码页编码的 UTF-8 转换为 ISO-8859-1 字节
Converting UTF-8 encoded with Latin-1 codepage to iso-8859-1 bytes
这是漫长的一天。我不确定我是否忽略了什么,或者我的问题是否没有简单的答案。
这是我的场景:
- 我正在将文本数据作为字节发送到不支持 UTF-8 编码的系统。
- 它有一个自定义字符集,但我只需要符合 ISO-8859-1 / Latin-1 编码的字符。
- 我传入的 UTF-8 编码字符串数据仅使用 ASCII 和少量仅来自 Latin-1 代码页的外来字符。
在我尝试重新编码这些字符串时,我以“?”结束替换外来字符、第二个 Unicode 字节或正在发送的两个 Unicode 字节。
是否有一种简单的方法来获取使用 2 个字节来描述这些 Latin-1 代码页字符并将它们编码为 ISO-8859-1 字节的传入数据?
在 reader 方面你需要这样的东西:
new InputStreamReader(underlyingInputStream, "UTF-8")
作者方面:
new OutputStreamWriter(underlyingOutputStream, "ISO-8859-1")
那么你应该能够读取传入的 UTF-8 编码字符,并将它们写入 ISO-8859-1 编码字符。
这是漫长的一天。我不确定我是否忽略了什么,或者我的问题是否没有简单的答案。
这是我的场景:
- 我正在将文本数据作为字节发送到不支持 UTF-8 编码的系统。
- 它有一个自定义字符集,但我只需要符合 ISO-8859-1 / Latin-1 编码的字符。
- 我传入的 UTF-8 编码字符串数据仅使用 ASCII 和少量仅来自 Latin-1 代码页的外来字符。
在我尝试重新编码这些字符串时,我以“?”结束替换外来字符、第二个 Unicode 字节或正在发送的两个 Unicode 字节。
是否有一种简单的方法来获取使用 2 个字节来描述这些 Latin-1 代码页字符并将它们编码为 ISO-8859-1 字节的传入数据?
在 reader 方面你需要这样的东西:
new InputStreamReader(underlyingInputStream, "UTF-8")
作者方面:
new OutputStreamWriter(underlyingOutputStream, "ISO-8859-1")
那么你应该能够读取传入的 UTF-8 编码字符,并将它们写入 ISO-8859-1 编码字符。