本文介绍了如何在Java中将十六进制字符串转换为字节值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个String数组。
我想将其转换为字节数组。
我使用Java程序。
例如:
I have a String array.I want to convert it to byte array.I use the Java program.For example:
String str[] = {"aa", "55"};
转换为:
byte new[] = {(byte)0xaa, (byte)0x55};
我该怎么办?
推荐答案
查看示例我猜你的意思是字符串数组实际上是字节的十六进制表示数组,不是吗?
Looking at the sample I guess you mean that a string array is actually an array of HEX representation of bytes, don't you?
如果是,那么对于每个字符串项,我将执行以下操作:
If yes, then for each string item I would do the following:
- 检查字符串是否仅包含2个字符
- 这些字符在'0'..'9'或'a'..'f'间隔(考虑他们的情况也是
) - 将每个字符转换为相应的数字,减去代码值'0'或'a'
-
构建一个字节值,其中第一个字符是高位和第二个字符是较低的。例如,
- check that a string consists only of 2 characters
- these chars are in '0'..'9' or 'a'..'f' interval (take their case into accountas well)
- convert each character to a corresponding number, subtracting code value of '0' or 'a'
build a byte value, where first char is higher bits and second char is lower ones. E.g.
int byteVal = (firstCharNumber << 4) | secondCharNumber;
这篇关于如何在Java中将十六进制字符串转换为字节值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!