java16进制转gbk
时间: 2025-01-05 11:06:41 浏览: 14
在Java中,将十六进制字符串转换为GBK编码通常涉及两个步骤:首先需要将十六进制数据转换为字节数组,然后将这些字节数组转换为GBK字符序列。
下面是一个简单的示例:
import java.nio.charset.StandardCharsets;
import java.util.Base64;
public class HexToGBK {
public static String hexToGBK(String hexStr) {
byte[] bytesFromHex = fromHex(hexStr);
return new String(bytesFromHex, StandardCharsets.GBK);
}
private static byte[] fromHex(String s) {
int len = s.length();
if ((len % 2) != 0) throw new IllegalArgumentException("Invalid hexadecimal string");
byte[] data = new byte[len / 2];
for (int i = 0; i < len; i += 2) {
data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
+ Character.digit(s.charAt(i+1), 16));
}
return data;
}
// 示例用法
public static void main(String[] args) {
String hexString = "8B4D60"; // 十六进制字符串
String gbkString = hexToGBK(hexString);
System.out.println(gbkString); // 输出转换后的GBK字符串
}
}
在这个例子中,fromHex
函数用于解析十六进制字符串,hexToGBK
则将转换后的字节数组转化为GBK文本。注意,如果输入的十六进制字符串长度不是偶数,这个方法会抛出异常。
阅读全文