【问题标题】:How do I convert from ASCII to String如何从 ASCII 转换为字符串
【发布时间】:2019-04-12 03:28:27
【问题描述】:

我正在尝试将 ascii 列表解析为字符串。问题是对于一些特殊字符,我有 torubles。如果我尝试解析这个:

115 097 116 195 168 108 194 183 108 105 116

,结果应该是“satèl·lit”。我用来解析它的代码是:

ASCIIList.add(Character.toString((char) Integer.parseInt(asciiValue)));

但结果是饱和的。我看到例如“è”->“195 168”。我不知道如何正确解析。

【问题讨论】:

标签: java arrays spring utf-8 ascii


【解决方案1】:

假设您已经将输入拆分为字符串数组,代码可能如下所示:

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 范围之外的字符。在您的示例中,它会影响“è”和“·”。

【讨论】:

    猜你喜欢
    • 2013-04-01
    • 2011-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多