我不仅仅是困惑.我有一些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字符而导致了这种行为.
问候,
奥利弗
解决方法:
Java(以及AndroID)字符串are not UTF-8, but UTF-16.显示的字节是Unicode代码点.
您需要将字符串转换为UTF-8才能发送它(直接或通过您可能使用的任何JsON库).这可以通过调用getBytes(“UTF8”)来完成
在你的字符串上获取一个字节数组,其中包含所需编码的字符串.
以上是内存溢出为你收集整理的android – EditText为德语变音符号返回增强的ISO-8859-1而不是UTF-8编码?全部内容,希望文章能够帮你解决android – EditText为德语变音符号返回增强的ISO-8859-1而不是UTF-8编码?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)