2017-08-06 57 views
0

我有陣列,這Java的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: جملجبل 

問題: this co de將第二個單詞追加到第一個單詞中,依此類推。

問題: 我如何翻譯每個單詞而無需將每個單詞附加到單詞之前。

我想要的結果是這樣的

sb:جمل 
sb:جبل 

回答

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.setLength(0)外循環的結束清除StringBuilder

+0

感謝@macmoonshine解決問題。 – Wasfy

+0

你的選擇應該是'stringBuilder.setLength(0)'... –

+0

@Usagi Miyamoto:是的,你說的對。我更新了我的帖子。 – clemens