我正在通过RFCOMM套接字读取二进制数据流。我收到的数据我将其保存在byte []中。然后使用),
将其转换为可读格式。
举个例子:
),5)", '_duration', 'type: time')
->find();
但转换成可读格式后收到的内容是如下所示,最后带有奇怪字符的“带问号的字符”:
make -jN
请告诉我消除这些符号的推荐方法是什么?
答案 0 :(得分:1)
您使用的是错误的String
构造函数。您应该使用String(byte[] bytes, int offset, int length, Charset charset)
。
原因是您只收到57个字节,但该数组为64个字节,因此您指定offset
为0且length
为57个。
您还应该指定charset
,因此它不依赖于JVM默认值,因为它可能会更改。
因此,它应该是这样的:
readableData = new String(buffer, 0, buflen, "US-ASCII");