java - 将字节字符串转换为 ASCII

标签 java android sockets byte

我正在连接到蓝牙设备,该设备响应我发送的某些参数,但作为响应,我从这样的套接字中读取:

String data = dIn.readLine();

dIn 是:

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

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

提前谢谢你。

最佳答案

目前还不清楚您是想实际解码作为字节数组的文本字符串,还是想要任意二​​进制数据的文本表示(十六进制)。首先你会使用:

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

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

String text = Hex.encodeHexString(data);

关于java - 将字节字符串转换为 ASCII,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7793504/

相关文章:

android - 在列表中组织 Android Realm 数据

sockets - TCP 打开套接字延迟

java - Java 是 "pass-by-reference"还是 "pass-by-value"?

c# - 如何获取PLC S7-300串口十六进制数据

java - 如何使用 DeepLearning4J 训练 RBM 和重建输入?

android - 如何从 FCM token 获取 Firebase 用户 ID? (在服务器上的管理员代码中)

java - System.getenv 无法检索 STS 中的更新值

android - Robotium waitForFragment

c# - TCP 包发送错误

Linux:in6addr_any 并绑定(bind)到特定的 IPv4 地址