2012-08-15 112 views
1

我從JSON阿拉伯語使用UTF8編碼接收數據轉換阿拉伯語的文本以UTF8 Android中

「\ u0639 \ u0644 \ u0649」

在顯示它時的TextView其轉換爲 「علي」

如何我可以從這個阿拉伯文字得到UTF8回來,假設我從阿拉伯鍵盤文本輸入

感謝

+0

不知道我是否理解這個問題,但是您是否嘗試過'textView.setText(「\ u0639 \ u0644 \ u0649」)'沒有任何轉換?看起來你已經有了適合被顯示的樣子。 – devconsole 2012-08-15 19:57:30

+0

OP可能不高興他的調試器Watch窗口顯示Unicode字符串轉義,而不是。 – 2012-08-15 20:30:12

回答

3

字符串總是使用Unicode,只有字節數組有編碼。

您的初始陳述毫無意義。您正在接受一個包含三個阿拉伯字符的字符串,並將其轉換爲默認編碼的字節數組,然後將這些字節轉換回採用UTF-8編碼的字符串。

scala> val str = "\u0639\u0644\u0649" 
str: java.lang.String = ??? 

scala> str.length 
res0: Int = 3 

我認爲這比string = "\u0639\u0644\u0649"沒有任何好處。如果您需要以UTF-8編碼表示此字符串的字節,則可以撥打string.getBytes("UTF-8"),但通信庫更有可能採用字符串並讓您以某種方式指定編碼。

0

您的代碼可以正常工作,但您必須將EncodeDecode數據轉換爲Base64。這對我有效。如果您需要,我可以分享代碼。