将字节序列转换为字符串的最快方法

时间:2018-01-29 16:09:19

标签: java string

将字节序列转换为Java字符串的最快方法是什么?

具体来说,给定一个大字节数组,以及与ASCII字符对应的字节子序列,例如

byte[] bytes = { ... 65, 66, 67 ... };

以及子序列的开始和结束索引,所需的输出是String" ABC"。

当然,在子序列是Unicode字符串的UTF-8编码的一般情况下,它更复杂,但我编写的解析器99.9%的时间将处理ASCII,需要尽快解析它,所以我想为这种情况实现快速路径代码。

也许最明显的方式是:

StringBuilder stringBuilder = new StringBuilder(end - start);
for (int i = start; i < end; i++)
    stringBuilder.append((char) bytes[i]);
return stringBuilder.toString();

但我想知道有更快的方法吗?

0 个答案:

没有答案