我正在开发一个Android项目(支持Farsi),我遇到了错误,所以我通过char扫描了char。然后我看到''使用ASCII代码8204(它是ASCII的utf8,我的意思是转换为int)在字符串的末尾。
P.N. item.trim()(item的类型是String)没有删除它
这是什么?第二个如何摆脱它?
答案 0 :(得分:1)
8204十进制是200C十六进制。 0x200C是U+200C的有效UTF-16代码单元序列,它是Unicode代码点:ZERO WIDTH NON-JOINER。 Java的Character.isWhitespace(int codePoint)
表示不是空白。因此,trim
不会删除它。
您可以使用其他方式,例如将所有此类字符(" \ u200C")替换为空字符串或仅删除字符串末尾的字符。
[除非规范要求,否则请不要说ASCII。如您所见,Java通常不使用ASCII。]