在我的Android应用程序中,当我从NFC芯片读取特定数据时,它会显示垃圾值,如下所示,打印在日志上
我使用以下行删除垃圾值
str.replaceAll("[^\\p{ASCII}]", "")
但它不起作用。
请给我解决方案。
答案 0 :(得分:1)
这是因为�
不是ASCII
个字符。这是一个unicode角色,(int) �
返回65533
。
您的代码str.replaceAll("[^\\p{ASCII}]", "")
效果非常好。
scala> val str ="����������������"
str: String = ����������������
scala> str.replaceAll("[^\\p{ASCII}]", "")
res8: String = ""
您需要显示更多代码并解释您的具体操作。
答案 1 :(得分:0)
最好以UTF-8格式检索数据然后帮助。尝试一下。
或将字符串转换为UTF-8格式
,String _data=new String(str.getBytes(),"UTF-8");
以UTF-8格式返回数据
答案 2 :(得分:0)
使用此方法.replaceAll("[^\\x00-\\x7F]", "")
String str = "jorgesys���������������� was here!";
str = str.replaceAll("[^\\x00-\\x7F]", ""));
所以str
的结果是:
jorgesys was here!