我有一个 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/