我有这样的数组
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:جبل
答案 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)
。