2012-08-15 114 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。这对我有效。如果您需要,我可以分享代码。