A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 新手ing 中级黑马   /  2015-7-13 11:53  /  314 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 新手ing 于 2015-7-13 11:57 编辑

public class EncodeDemo {      
  public static void main(String[] args) throws IOException {      
         String s = "中文12";      
         byte[] bytes1 = s.getBytes();      
         for (byte b : bytes1) {
                       System.out.print(Integer.toHexString(b&0xff)+" ");
                }      
         System.out.println();
         byte[] bytes2 = s.getBytes("gbk");
          //一个中文占两个字节,英文一个字节      
         for (byte b : bytes2) {               
         System.out.print(Integer.toHexString(b&0xff)+" ");     
           }      
         System.out.println();  
          byte[] bytes3 = s.getBytes("utf-8");
           //一个中文占用三个字节,英文占用一个字节      
         for (byte b : bytes3) {  
                      System.out.print(Integer.toHexString(b&0xff)+" ");
                }        
        System.out.println();   
        byte[] bytes4 = s.getBytes("utf-16be");   
            //中文英文都占连个字节      
         for (byte b : bytes4) {      
                 System.out.print(Integer.toHexString(b&0xff)+" ");                }        }
}
输出结果
d6 d0 ce c4 31 32
d6 d0 ce c4 31 32
e4 b8 ad e6 96 87 31 32
4e 2d 65 87 0 31 0 32
项目默认采用gbk编码,中文占用两个字节,英文占用一个字节;
采用utf-8编码,中文占用三个字节,英文占用一个字节;
采用utf-16be编码,中文和英文各占两个字节

1 个回复

倒序浏览
很好很好不错啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马