将字符串转换为十六进制(来自bluetooth inputStream)

时间:2015-01-23 11:16:12

标签: java android string bluetooth

我正在读取从蓝牙输入的数据作为字节,然后我传递给字符串,所以我可以格式化文本显示在屏幕上,这一切都很好,这部分收到的数据是十六进制(只是一个十进制数字从1到50,所以两位数)

例如,我收到消息:01theCatSatOnTheMat(转换为字符串)

因为数字是十六进制我得到:-theCatSatOnTheMat(转换为字符串)

根据ascii表0-31是不可打印的字符,那么如何将它们转换回Hex,这样我才能在屏幕上显示01theCatSatOnTheMat?

是否需要取数字部分并先从字节转换为十六进制然后转换为十进制显示,而其余部分将从字节直接转换为字符串?

如果是这样的话我不知道如何说出要从输入流中选择哪些字节来转换,因为通常我会这样:

String receivedText = new String(buffer); //where buffer is my received bytes
 TextView.setText(receivedText); //display it in this textView

然而,我在进入屏幕之前做了一些编辑,但这与此无关。

欢呼声。

0 个答案:

没有答案