我正在开发一个调用休息网络服务的应用程序。有时 xml 响应包含手机无法显示的字符。显示这些字符时,会显示一个空框。我想过滤掉这些字符。如何检测字符是否能够显示在屏幕上?
一些特定的字符包括:
http://www.fileformat.info/info/unicode/char/0094/index.htm http://www.fileformat.info/info/unicode/char/0080/index.htm http://www.fileformat.info/info/unicode/char/0092/index.htm
最佳答案
Android 支持以下 encodings
- Xml.编码 ISO_8859_1
- Xml.Encoding US_ASCII
- Xml.Encoding UTF_16
- Xml.Encoding UTF_8
US_ASCII 应该不会有任何问题。
对于 ISO_8859_1,您应该检查 wiki 对于控制字符 0x00-0x1f 和 0x7f-0x9f 并过滤它们。 当然还要使用匹配的字体。
使用 UTF_8 或 16 更复杂,阅读 Joels The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets
您可能会发现此邮件 list有用。
关于java - 如何删除从 Web 服务返回的无法识别的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2650259/