如何在Java中将ASCII字符串转换为UTF-8字符串?

如何在Java中将ASCII字符串转换为UTF-8字符串?,java,string,utf-8,Java,String,Utf 8,如标题所示,如何在Java中将ASCII字符串转换为UTF-8字符串 谢谢 编辑:我的情况是,我读的是中文字符串,当我输出它时,它全是胡言乱语。我想问题可能在于编码。那么,如何正确地将字符串从乱码转换为正确的语言集字符呢?Java中没有“ASCII字符串”或“UTF-8字符串”。当您得到一个字符串对象时,它只是一个UTF-16代码单元序列。没有关于它最初是使用ASCII还是UTF-8从字节数组解码来解释字节的记录 还请注意,UTF-8与ASCII向后兼容,因为如果您有任何表示ASCII编码文本的

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

谢谢


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

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


还请注意,UTF-8与ASCII向后兼容,因为如果您有任何表示ASCII编码文本的有效字节序列,则该字节序列与UTF-8中表示相同文本的字节序列相同。

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


从字符串的ASCII编码到字符串的UTF-8编码不需要进行任何转换。对于同一字符串,任何有效的ASCII也是有效的UTF-8编码。(反之亦然)。

可能重复,您能扩展您需要的内容吗?因为在java中,默认情况下所有字符串都是UTF-16。(感谢Jon Skeet的更正)@ilya:不,所有字符串都是UTF-16代码单元序列。(但ilya关于你的问题不清楚的观点是正确的。)