java汉字转16进制并转为short数组
时间: 2023-06-29 19:20:56 浏览: 199
可以使用Java内置的方法将汉字转换为16进制字符串,然后将字符串转换为short数组,例如:
```java
public static short[] stringToShortArray(String str) {
char[] chars = str.toCharArray();
StringBuilder hex = new StringBuilder();
for (char ch : chars) {
hex.append(Integer.toHexString((int) ch));
}
String hexString = hex.toString();
if (hexString.length() % 4 != 0) {
hexString = hexString + "0000".substring(hexString.length() % 4);
}
short[] shorts = new short[hexString.length() / 4];
for (int i = 0; i < shorts.length; i++) {
shorts[i] = Short.parseShort(hexString.substring(i * 4, (i + 1) * 4), 16);
}
return shorts;
}
```
其中,`toCharArray()`方法将字符串转换为字符数组,然后遍历每个字符,将其转换为16进制字符串并拼接到`StringBuilder`对象中,最后通过`toString()`方法将结果转换为字符串。如果字符串长度不是4的倍数,则在字符串末尾补足0,使其长度为4的倍数。接着,将字符串按4个字符一组分割,并将每组字符串转换为short类型的数值,存入short数组中,并最终返回short数组。需要注意的是,这里假设一个short占用2个字节,即16位。如果short占用的字节数不同,需要根据实际情况进行调整。
阅读全文