zoukankan      html  css  js  c++  java
  • Java不同编码方式,中英文字符所占字节数

    测试代码

     1 public class Test {
     2 
     3     public static void main(String[] args){
     4 
     5         String[] charsetNames={    
     6                                     "UTF-8",
     7                                     "UTF-16",
     8                                     "UTF-16BE",
     9                                     "UTF-16LE",
    10                                     "UTF-32",
    11                                     "UTF-32BE",
    12                                     "UTF-32LE",
    13                                     "UNICODE",
    14                                     "GBK",
    15                                     "GB2312",
    16                                     "GB18030",
    17                                     "ISO8859-1",
    18                                     "BIG5",
    19                                     "ASCII"
    20                                }; 
    21 
    22 
    23         for(int i=0;i<charsetNames.length;i++){
    24             printByteLength(charsetNames[i]);
    25         }
    26 
    27     }
    28 
    29     /**
    30      * String类的不带参数的getBytes()方法会以程序所运行平台的默认编码方式为准来进行转换,
    31      * 在不同环境下可能会有不同的结果,因此建议使用指定编码方式的getBytes(String charsetName)方法。
    32      */
    33     public static void printByteLength(String charsetName){
    34         String en="a";    //一个英文字符
    35         String zh="啊";    //一个中文字符
    36         try {
    37             System.out.println(charsetName+"编码英文字符所占字节数:"+en.getBytes(charsetName).length);
    38             System.out.println(charsetName+"编码中文字符所占字节数:"+zh.getBytes(charsetName).length);
    39             System.out.println();
    40         } catch (UnsupportedEncodingException e) {
    41             System.out.println("非法编码格式!");
    42         }
    43     }
    44 }

    运行结果:

    UTF-8编码英文字符所占字节数:1
    UTF-8编码中文字符所占字节数:3
    
    UTF-16编码英文字符所占字节数:4
    UTF-16编码中文字符所占字节数:4
    
    UTF-16BE编码英文字符所占字节数:2
    UTF-16BE编码中文字符所占字节数:2
    
    UTF-16LE编码英文字符所占字节数:2
    UTF-16LE编码中文字符所占字节数:2
    
    UTF-32编码英文字符所占字节数:4
    UTF-32编码中文字符所占字节数:4
    
    UTF-32BE编码英文字符所占字节数:4
    UTF-32BE编码中文字符所占字节数:4
    
    UTF-32LE编码英文字符所占字节数:4
    UTF-32LE编码中文字符所占字节数:4
    
    UNICODE编码英文字符所占字节数:4
    UNICODE编码中文字符所占字节数:4
    
    GBK编码英文字符所占字节数:1
    GBK编码中文字符所占字节数:2
    
    GB2312编码英文字符所占字节数:1
    GB2312编码中文字符所占字节数:2
    
    GB18030编码英文字符所占字节数:1
    GB18030编码中文字符所占字节数:2
    
    ISO8859-1编码英文字符所占字节数:1
    ISO8859-1编码中文字符所占字节数:1
    
    BIG5编码英文字符所占字节数:1
    BIG5编码中文字符所占字节数:2
    
    ASCII编码英文字符所占字节数:1
    ASCII编码中文字符所占字节数:1
  • 相关阅读:
    SpringCloud Alibaba Nacos详解
    常见设计模式
    Mybatis TypeHandler类型处理器
    Mybatis存取json字段转为Java对象方案
    Spring AOP 切面编程详解
    Spring Data 、Spring Data JPA 、Hibernate之间的关系及SpringDataJPA简单使用
    28张图解 | 互联网究竟是「如何连接,如何进行通信」的?
    Java代码实现 图片添加多行水印且自动换行
    SpringMVC 快速入门
    获取本地磁盘得到.txt文件
  • 原文地址:https://www.cnblogs.com/Qian123/p/5799835.html
Copyright © 2011-2022 走看看