将字节字符串转换为 ASCII

发布于 2024-12-10 20:44:04 字数 298 浏览 0 评论 0原文

我正在连接到一个蓝牙设备,它回答我发送的一些参数,但作为响应,我从这样的套接字读取:

String data = dIn.readLine();

其中 dIn 是:

DataInputStream dIn = new DataInputStream(socket.getInputStream());

问题是我收到了数据,但它是一个字节数组读取一个字符串。如何将包含字节数组的字符串转换为具有正确的十六进制值的字符串?

先感谢您。

I'm connecting to a bluetooth device that answers to some parameters I send it, but as a response I read from a socket like this:

String data = dIn.readLine();

Where dIn is a:

DataInputStream dIn = new DataInputStream(socket.getInputStream());

The thing is that I receive the data, but it's a byte array read on a string. How can I convert that string that contains my byte array into a String with the correct hexadecimal values?

Thank you in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

彩扇题诗 2024-12-17 20:44:04

目前尚不清楚您是否正在尝试对字节数组形式的文本字符串进行解码,或者您是否想要任意二​​进制数据的文本表示形式(以十六进制表示)。对于第一个,您可以使用:

String text = new String(data, 0, data.length, "ASCII");

对于第二个,您可以使用类似 Apache Commons Codec 的东西:

String text = Hex.encodeHexString(data);

It's unclear whether you're trying to actually decode a text string which you've got as a byte array, or whether you want a text representation (in hex) of arbitrary binary data. For the first you'd use:

String text = new String(data, 0, data.length, "ASCII");

For the second you could use something like Apache Commons Codec:

String text = Hex.encodeHexString(data);
冷默言语 2024-12-17 20:44:04

看看 String 的 格式化函数。如果指定格式为“%X”,则会返回作为十六进制字符串

您必须迭代字节数组才能转换每个字节,因为上面的函数仅接受原始数字类型。

Have a look at String's Format function. If you specify the format as "%X", it will be returned as a hex string

You will have to iterate through the byte array to convert each, as the above function accepts only primitive numeric types.

白馒头 2024-12-17 20:44:04

DataInputStream 包装在 输入流读取器

DataInputStream.readLine() 已弃用。

Wrap the DataInputStream in an InputStreamReader.

DataInputStream.readLine() is deprecated.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文