如何从二进制流中消除不需要的符号

时间:2015-11-13 15:34:58

标签: java android file file-io outputstream

我正在通过RFCOMM套接字读取二进制数据流。我收到的数据我将其保存在byte []中。然后使用),将其转换为可读格式。

举个例子:

),5)", '_duration', 'type: time')
    ->find();

但转换成可读格式后收到的内容是如下所示,最后带有奇怪字符的“带问号的字符”:

make -jN

请告诉我消除这些符号的推荐方法是什么?

1 个答案:

答案 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");