java - 将 11 字节十六进制字符串转换为大小为 16 的字节数组

标签 java android hex arrays

我有一个 11 字节的十六进制字符串“0017333032CD4900186F41”。我必须将此字符串转换为字节数组,并且我做得很好并得到了正确的结果。但是,按照特定的消息格式,我想将此十六进制字符串转换为大小为 16 而不是 11 的字节数组。这可能吗?

我尝试了 hex.getBytes("UTF-8") ,这给了我一个大小为 32 的数组。是否可以将 11 字节的十六进制字符串作为 16 字节的数组?

此要求是针对 BlackBerry 应用程序的 Java 形式。这已在 Android 和 iPhone 中成功实现。 Android 正在利用 Basic4Android 中的 ByteConverter 库来获得所需的结果:

Dim data() As Byte
data = Bconv.HexToBytes(data_hex)

最佳答案

十六进制字符串表示一个包含 2 位数字的字节 (16² = 256)。

因此将字符串 data_hex 用零填充到右侧,直到其长度为 2*16 = 32。 然后进行 HexToBytes 转换。

关于java - 将 11 字节十六进制字符串转换为大小为 16 的字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14190888/

相关文章:

Java CPU 使用率应该是 100%...但它不是

java - 从 SOAP 响应中获取值

android - 使用 setX、setPadding 或补间动画滑动 ListView?

php - 在字符串中对 ISO-8859-1 字符(ASCII 之外)进行十六进制编码?

python - 在Python中将十六进制转换为负整数

python - python中的网络数据包长度

java - Spring任务执行器和调度器

java - 如何从 "Recent opened apps"获取屏幕截图?

java - 通过单击按钮更改 fragment

android - 如何动态改变TextView的背景颜色?