【发布时间】:2015-07-06 23:18:31
【问题描述】:
我想将单个字符的字符串转换为5个十六进制字节,一个字节代表一个十六进制数:
喜欢
String s = "ABOL1";
到
byte[] bytes = {41, 42, 4F, 4C, 01}
我尝试了以下代码,但Byte.decode 在字符串太大时出错,例如“4F”或“4C”。有没有其他的转换方式?
String s = "ABOL1";
char[] array = s.toCharArray();
for (int i = 0; i < array.length; i++) {
String hex = String.format("%02X", (int) array[i]);
bytes[i] = Byte.decode(hex);
}
【问题讨论】:
-
char不是byte! -
没有“十六进制字节”之类的东西。数据已经是您需要的格式。只需复制字节。