一尘不染

Java将字符串编码为UTF-8

java

我有一个带有“ñ”字符的字符串,并且我有一些问题。我需要将此字符串编码为UTF-8编码。我已经通过这种方式尝试过,但是没有用:

byte ptext[] = myString.getBytes();
String value = new String(ptext, "UTF-8");

如何将该字符串编码为utf-8?


阅读 2053

收藏
2020-03-02

共2个答案

一尘不染

StringJava中的对象使用无法修改的UTF-16编码。

唯一可以使用不同编码的是byte[]。因此,如果你需要UTF-8数据,则需要一个byte[]。如果你有一个String包含意外数据的,则问题出在较早的地方,该错误地将一些二进制数据错误地转换为a String(即,使用了错误的编码)。

2020-03-02
一尘不染

这样

ByteBuffer byteBuffer = StandardCharsets.UTF_8.encode(myString)
2020-03-02