Java将Unicode转换为原始语言

时间:2017-08-06 08:42:06

标签: unicode

我有这样的数组

String[] array ={"062C06450644","062C06280644"}

我想使用此代码将此unicode翻译为原始语言:

StringBuilder stringBuilder = new StringBuilder();
for(String arr:array)
{
    for(int i=0;i<arr.length();i+=4)
    {
        String s = arr.substring(i,i+4);
        stringBuilder.append((char) Integer.parseInt(s,16));
    }

    System.out.println("sb:"+stringBuilder);
}

结果:

sb: جمل
sb: جملجبل

问题: 此代码将第二个单词附加到1st,依此类推。

问题: 我如何翻译每个单词而不将每个单词附加到单词之前。

我希望结果是这样的

sb:جمل
sb:جبل

1 个答案:

答案 0 :(得分:1)

每个单词都需要一个干净的StringBuilder。只需交换前两行:

for(String arr:array) {
    StringBuilder stringBuilder = new StringBuilder();

    for(int i=0;i<arr.length();i+=4) {
        String s = arr.substring(i,i+4);
        stringBuilder.append((char) Integer.parseInt(s,16));
    }

    System.out.println("sb:"+stringBuilder);
}

或者,您可以使用StringBuilder清除外部循环末尾的stringBuilder.setLength(0)