バイト配列のバイトがUnicode文字であるかどうかを確認するにはどうすればよいですか?
主な問題:
android 4.2 new String(bytes) remove unicode chars from my String: [\uFFFD]
これには回避策が必要です。
return Charset.forName("UTF-8").newEncoder().canEncode(string);
更新:にを渡さなかったCharset
ためnew String(bytes)
、デフォルトの文字セットを使用していることを前提としています。代わりに、たとえばnew String(bytes, "UTF-8")
。
いいえ、そうではありません。たとえば、バイト配列内の文字がUTF-8ルールに違反していないことを確認することで推測できます。詳細については、 http://blogs.msdn.com/b/oldnewthing/archive/2007/04/17/2158334.aspxを参照してください。