最近遇到了需要将日文文本中的汉字乱码转成正常显示的汉字,试了很多种方法,终于发现到这种处理情况:
1.需要拼接头部和尾部,转成16位字节
2.头部字节+乱码内容根据"ISO-2022-JP"转码后的字节+尾部字节
3.以该编码格式"ISO-2022-JP"转成字符串,测试中发现用"JISAutoDetect"也是可以。
String head= "1b2442"; String tail = "1b284a";
//String kanJi = "FaGF!!!!!!!!!!!!!";//那霸 String kanJi = "@gBf!!!!!!!!!!!!!";//仙台
byte[] headBytes = hexStr2Bytes(head); byte[] tailBytes = hexStr2Bytes(tail);
其中这段转hex的代码直接拷贝自: Java:将字符串转换为hex(Byte)_秦晓宇的博客-CSDN博客_java 字符串转hex
输出结果:
比如再换个乱码的再试一遍:
可见也是转成了正常的汉字:仙台