4

如标题所示,如何在 Java 中将 ASCII 字符串转换为 UTF-8 字符串?

谢谢!

编辑:我的情况真的是我读的是中文字符串,当我输出它时,都是乱码。我认为问题可能出在编码上。那么,如何正确地将字符串从乱码转换为正确的语言集字符?

4

2 回答 2

4

Java 中没有“ASCII 字符串”或“UTF-8 字符串”之类的东西。当你得到一个String对象时,它只是一个 UTF-16 代码单元的序列。没有关于它最初是使用 ASCII 还是 UTF-8 从字节数组中解码来解释字节的记录。

另请注意,UTF-8 与 ASCII 向后兼容,因为如果您有任何表示 ASCII 编码文本的有效字节序列,那将是用于表示 UTF-8 中相同文本的相同字节序列.

于 2012-06-23T09:17:06.810 回答
2

Java 中没有 ASCII 字符串或 UTF-8 字符串之类的东西。ASCII 和 UTF-8 是编码 - 字节数组。

您无需进行任何转换即可从字符串的 ASCII 编码转换为字符串的 UTF-8 编码。任何有效的 ASCII 也是相同字符串的有效 UTF-8 编码。(反之则不然)。

于 2012-06-23T09:18:06.017 回答