CHARSET=UTF-8:=E7=88=B8=E7=88=B8;好像怎么转换都没办法转换成中文
解决方案 »
- 关于StringBuilder的一些问题,第一次发帖求支持,大家看看
- 如何中断一个void 的方法,有点研究价值
- 求JAVA正则:小于50的整数,谢谢,最好能帮我解释下,初学正则
- SUN公司说的一万亿毫秒之后的日期与我的电脑不一致,大家试试DATE这个类
- apache Tuscany 有谁用啊?
- 请问如何往一个文件中写入几个字节,我用write(byte[],int offset,int length)会爆出IndexOutOfBoundsException异常为什么呢?
- 如何用swing控件来实现超链接
- 小弟初到JAVA,发贴散分,并提一问
- 请问java执行sleep方法的一些问题
- java 获取内存??
- 那只有服务名SERVICE_NAME,没有sid怎么办?
- 视频播放
public static void main(String args[])throws Exception{
String str = "=E7=88=B8=E7=88=B8";
str = str.replace("=", "");
int j=0;
byte[] buff = new byte[str.length()/2];
for(int i=0;i<str.length();i+=2){
String tmp = str.substring(i,i+2);
int ch = Integer.parseInt(tmp,16);
buff[j++] = (byte)(ch | 0xffffff00 );
}
str = new String(buff,"UTF-8");
System.out.println(str);//爸爸
}
buff[j++] = (byte)(ch | 0xffffff00 );//这个或运算有什么作用的?低8位是0,相当于没有做运算诶……
是一种变长编码,其实还原UTF8也不太容易呢,需要理解底层原理.