mht文件的3dus-ascii编码转换。在mht文件中,可以看到汉字的编码变了,如“中国”变为“&20013;&22269;”这种其实 是unicode码的10进制表示,我们在java中一般看到的unicode码都是16进制的。主要写个10进制unicode和16进制unicode转换程序,以后可以参考一下,这个对于这次项目中查询数据并根据模板导出到word中,解决了几周来的乱码问题。
public class TestUnicode{
public staticvoid main(String[] args){
//将中文转成16进制的表示 System.out.println(“/u”+ Integer.toHexString(‘中’)); //“/u4e2d” System.out.println(“/u”+ Integer.toHexString(‘中’&0xffff)); //“/u4e2d” //将中文转成10进制的表示 System.out.println(“&”+ (int)’中’+”;”); //中 System.out.println(“&”+ (‘中’&0xffff) +”;”); //中 //将10/16进制的表示转成汉字 System.out.println((char) 20013); //中 System.out.println((char) 0x4e2d); //中
}
}