码迷,mamicode.com
首页 > 其他好文 > 详细

编码表

时间:2016-10-02 23:57:35      阅读:356      评论:0      收藏:0      [点我收藏+]

标签:

常见的编码表:

ASCII 美国标准信息交换码,用一个字节的7位表示

ISO-8859-1  拉丁码表,欧洲码表,用一个字节的全部8位表示

GB2312:中国的中文码表

GBK:GB2312的升级,融合了更多的中文文字符号

Unicode:国际标准码,融合了多种文字,所有文字都是使用两个字节来表示,java就是使用Unicode编码表

UTF-8:最多用三个字节来表示一个字符。如果能用一个字节来装,就使用一个字节,一个装不下,就用两个字节,最多三个字节

 

 

string s="你好";

byte[] buf=s.getBytes("GBK");// -60 -29 -70 -61  你好的GBK编码

byte[] buf=s.getBytes("UTF-8");// -28 -67 -96 -27   -91  -67  你好的UTF-8编码

 

 

//编码;
byte[] buf = str.getBytes("UTF-8");

//解码:
String s1 = new String(buf,"UTF-8");

 

 

乱码问题,类似tomcat里。

String str = "谢谢";

byte[] buf = str.getBytes("gbk");//使用GBK进行编码

String s1 = new String(buf,"UTF-8");//解码的时候使用了utf-8,出现乱码

解决办法是获取utf-8对应的字节值,然后再使用GBK解码就可以了,Tomcat就是这样做的。

byte[] buf2 = s1.getBytes("UTF-8");//获取源字节.
 
String s2 = new String(buf2,"GBK");//s2就是  谢谢

 

在java中"abcd"与"ab你好"的长度是一样的,都是四个字符,但是对应的字节数是不一样的。一个汉字两个字节。

 

编码表

标签:

原文地址:http://www.cnblogs.com/lxboy2009/p/5928321.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!