如题问题(如将String型数据“fe”转换成byte型数据0xfe等)。方法如下(因同事需要而网上找不到答案所以我临时写了一个,时间仓促,可能不够优化):
private byte getByteFromString(String str) {
byte retByte = 0;
int len = str.length();
for (int i=0; i<len; i++) {
char ch = str.charAt(i);
if ((ch >= '0') && (ch <= '9')) {
retByte |= ((ch-'0'+0x00) << ((len-i-1)*4));
// 或者 retByte |= (Byte.valueOf(String.valueOf(ch)) << ((len-i-1)*4));
} else if (ch >= 'a' && ch <= 'f') {
retByte |= ((ch-'a'+0x0a) << ((len-i-1)*4));
} else if (ch >= 'A' && ch <= 'F') {
retByte |= ((ch-'A'+0x0a) << ((len-i-1)*4));
}
}
return retByte;
}
本文提供了一种将十六进制字符串转换为byte的方法。通过遍历字符串中的每个字符,并判断其是否为0-9、a-f或A-F之一,进而转换为对应的byte值。此方法适用于需要将特定格式字符串转换为二进制数据的应用场景。
2215

被折叠的 条评论
为什么被折叠?



