使用byte []和charset的构造函数创建字符串对象

时间:2014-09-24 09:53:42

标签: java encoding

我正在使用new String(byte[], Charset)创建一个String对象,其中Charset = UTF8byte[]被编码为ISO-8859-1。 我用普通字符测试过它。但不清楚它是否会造成任何问题。

请求建议。

new String(byteArray,Charset.forName("UTF-8"));

1 个答案:

答案 0 :(得分:1)

阅读有关构造函数的API文档。根据这一点,即使你得到一个损坏的字节数组,你也不会遇到任何问题。

public String(byte [] bytes,Charset charset)

  

通过使用解码指定的字节数组构造一个新的String   指定的字符集。新String的长度是一个函数   字符集,因此可能不等于字节的长度   阵列。   此方法始终使用此charset的默认替换字符串替换格式错误的输入和不可映射字符序列。当更多控制权时,应使用CharsetDecoder类   解码过程是必需的