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)
此方法分解所有非拉丁字符。
首先将 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)