Java int 数组到 StringBuilder

Dmi*_*riy 5 java arrays stringbuilder integer

如何在while循环中将带有UTF-8字符串的int数组转换为StringBuilder?例如:
int array: 71, 73, 70, 56, 57, 97, 149, 0, 55, 0, 247...
结果字符串: GIF89a• €÷€ €€€ÀÜÀ|Êð*?ª*?ÿ ...
该行包含拉丁文、西里尔文和亚洲字符,以及各种符号和数字

do buffer.append((char)num[++i]);
while((byte)buffer.charAt(buffer.length()-1) != -1);
Run Code Online (Sandbox Code Playgroud)

此方法分解所有非拉丁字符。

Mal*_*ith 3

首先将 int[] 转换为 byte[],如下所示:

    //intArray contains your data...
    byte[] utf8bytes = new byte[intArray.length];
    for(int i = 0; i < intArray.length; i++)
    {
        utf8bytes[i] = (byte) intArray[i];
    }
Run Code Online (Sandbox Code Playgroud)

然后从您的字节创建一个字符串,指定 UTF-8 作为编码:

    String asString = new String(utf8bytes, "UTF-8");
Run Code Online (Sandbox Code Playgroud)