在Java中,哪种编码方案是8位US ASCII?

时间:2011-07-03 19:35:56

标签: java encoding ascii

我想将字符串写入需要8-bit US ASCII编码的文件。

我应该为方法String.getBytes(encodingScheme)使用哪种编码方案?

感谢。

3 个答案:

答案 0 :(得分:11)

ASCII是一种7位编码方案,没有“8位ASCII”。

然而,许多编码是ASCII兼容的,有些是8位透明的(即每个二进制序列映射到有效的字符串,反之亦然,如果你通过字符通道发送二进制数据而不用在base64中编码它就很有用或者)。如果您只想与ASCII兼容,UTF-8是最佳选择;如果您需要8位透明度,ISO-8859-1

请注意,只有在您希望传输仅ASCII字符串或8位二进制字符串时,上述建议才有用。在大多数情况下,您实际上想要传输任意字符串,并且无法为这些字符串找到正确的编码。

答案 1 :(得分:4)

答案 2 :(得分:3)

没有“8位ASCII”这样的东西。 ASCII有几个8位“扩展”,包括ISO-8859-1Windows-1252。这些可能是最常见的,但它们不一样。你真的需要找出完全期望的编码。

这两个名称都可以通过通过在Java中使用这些名称 - 至少它们是在我的JDK安装上。 (例如,您可能会发现Linux-1252在Linux安装上不可用。)