UTF-8 字节 [] 到字符串

2022-08-31 05:28:29

假设我刚刚使用 a 将 UTF-8 编码文本文件的字节读取到字节数组中。我知道我可以使用以下例程将字节转换为字符串,但是有没有比仅迭代字节并转换每个字节更有效/更智能的方法?BufferedInputStream

public String openFileToString(byte[] _bytes)
{
    String file_string = "";

    for(int i = 0; i < _bytes.length; i++)
    {
        file_string += (char)_bytes[i];
    }

    return file_string;    
}

答案 1

查看字符串的构造函数

String str = new String(bytes, StandardCharsets.UTF_8);

如果你觉得懒惰,你可以使用Apache Commons IO库直接将InputStream转换为字符串:

String str = IOUtils.toString(inputStream, StandardCharsets.UTF_8);

答案 2

Java String 类具有一个内置构造函数,用于将字节数组转换为字符串。

byte[] byteArray = new byte[] {87, 79, 87, 46, 46, 46};

String value = new String(byteArray, "UTF-8");

推荐