Oli*_*ver 3 android utf-8 android-edittext
我不仅仅是困惑.我确实有一些EditText,它显然返回ISO-8859-1甚至混合8859-1 + UTF8字符串.
直到现在我的理解是,Android完全是UTF-8,所以这甚至都不会发生.
示例:在EditText中输入"wüste".字符串为十六进制返回此字节代码:57 fc 73 74 65,我的期望值是:57 c3bc 73 74 65
输入"wüsteテスト"返回57 fc 73 74 65 20 30c6 30b9 30c8,现在甚至是扩展的8859-1和UTF-8的混合.
这是预期和想要的行为吗?我可以在某处更改吗?我在使用JSON向服务器发送数据时意识到了这种行为,并且由于非法的UTF-8字符而导致了这种行为.
此致,奥利弗
Mic*_*sen 10
Java(以及Android)字符串不是UTF-8,而是UTF-16.显示的字节是Unicode代码点.
您需要将字符串转换为UTF-8才能发送它(直接或通过您可能使用的任何JSON库).这可以通过调用getBytes("UTF8")
您的字符串来获得带有所需编码的字符串的字节数组来完成.
| 归档时间: |
|
| 查看次数: |
5299 次 |
| 最近记录: |