我正在使用new String(byte[], Charset)
创建一个String对象,其中Charset = UTF8
和byte[]
被编码为ISO-8859-1
。
我用普通字符测试过它。但不清楚它是否会造成任何问题。
请求建议。
new String(byteArray,Charset.forName("UTF-8"));
答案 0 :(得分:1)
阅读有关构造函数的API文档。根据这一点,即使你得到一个损坏的字节数组,你也不会遇到任何问题。
public String(byte [] bytes,Charset charset)
通过使用解码指定的字节数组构造一个新的String 指定的字符集。新String的长度是一个函数 字符集,因此可能不等于字节的长度 阵列。 此方法始终使用此charset的默认替换字符串替换格式错误的输入和不可映射字符序列。当更多控制权时,应使用CharsetDecoder类 解码过程是必需的