标题为“如何在Java中将ASCII字符串转换为UTF-8字符串?”
谢谢!
编辑:我的情况确实是我用中文字符串读的,当我输出它时,它都是乱码。我认为问题可能在于编码。那么,我如何正确地将字符串从乱码转换为正确的语言集字符?
答案 0 :(得分:4)
Java中没有“ASCII字符串”或“UTF-8字符串”。当你有一个String
对象时,它只是一系列UTF-16代码单元。没有关于它是否最初使用ASCII或UTF-8从字节数组解码来解释字节的记录。
另请注意,UTF-8向后兼容ASCII,因为如果你有任何有效的字节序列代表ASCII编码的文本,那就是相同的字节序列。用于表示UTF-8中的相同文本。
答案 1 :(得分:2)
Java中没有ASCII字符串或UTF-8字符串。 ASCII和UTF-8是编码 - 字节数组。
您无需进行任何转换即可从字符串的ASCII编码转换为字符串的UTF-8编码。对于相同的字符串,任何有效的ASCII也是有效的UTF-8编码。 (反之则不然)。