2012-12-17 51 views
0

如何检查字节数组中的字节是否是Unicode字符?检查字节数组中的字节是否为Unicode

主要probleme:

android 4.2 new String(bytes) remove unicode chars from my String: [\uFFFD] 

我需要解决类似的问题。

+4

你知道一个unicode字符可以在几个字节上编码,对吧? – etienne

+0

是啊我知道 – lacas

+1

我们在谈论UTF-8,UTF-16或UTF-32吗? – luiscubal

回答

2
return Charset.forName("UTF-8").newEncoder().canEncode(string); 

更新:您没有通过Charsetnew String(bytes),所以它只是假设你正在使用的默认字符集。相反,例如, new String(bytes, "UTF-8")

+0

看到主probleme部分 – lacas

+0

新的字符串(字节, “UTF-8”)给我同样的字符串在Android 4.2中,没有我的unicode [\ uFFFD],奇怪的事情:如果我使用新的字符串(字节,“UTF-8 “)在4.2下,那不工作,删除我的unicode字符,只有当我使用新的字符串(字节)。 – lacas

+1

然后,无论你得到bytes_from_,它可能不是UTF-8编码;它使用其他编码。 –

相关问题