我正在尝试将ascii列表解析为字符串。问题是,我有一些特殊的字符,我有圆柱形。如果我试图解析这一点:
115 097 116 195 168 108 194 183 108 105 116
,其结果应该是"satèl·lit“。我用来解析它的代码是:
ASCIIList.add(Character.toString((char) Integer.parseInt(asciiValue)));
但结果却是坐在圣保罗。我看到了,例如"è“->”195168“。我不知道如何正确地解析它。
发布于 2018-11-08 15:37:49
假设您已经将输入拆分成一个字符串数组,代码可能如下所示:
String convertToString(String[] numberArray) {
byte[] utf8Bytes = new byte[numberArray.length];
for (int i = 0; i < numberArray.length; i++) {
utf8Bytes[i] = (byte) Integer.parseInt(numberArray[i]);
}
return new String(utf8Bytes, StandardCharsets.UTF_8);
}
所以每个数字都变成了一个字节。然后使用UTF-8字符集将整个字节数组转换为字符串。
UTF-8使用多个字节来表示ASCII范围以外的字符。在您的示例中,它会影响"è“和"·”。
https://stackoverflow.com/questions/53210843
复制相似问题