zoukankan      html  css  js  c++  java
  • 字符串-不同的编码格式下所占用的字节数【转】

    英文字母和中文汉字在不同的编码格式下,所占用的字节数也是不同的,我们可以通过下面的例子来看看在一些常见的编码格式下,一个英文字母和一个中文汉字分别占用多少字节。

    import java.io.UnsupportedEncodingException;

    public class EncodeTest {

     public static void printByteLength(String s, String encodingName) {

      System.out.print("字节数:");

      try {

       System.out.print(s.getBytes(encodingName).length);   }

    catch (UnsupportedEncodingException e) {

       e.printStackTrace();   

    }   

    System.out.println(";编码:" + encodingName);  }

     public static void main(String[] args) {

      String en = "A";   String ch = "人";   // 计算一个英文字母在各种编码下的字节数  

     System.out.println("英文字母:" + en);  

     EncodeTest.printByteLength(en, "GB2312");  

     EncodeTest.printByteLength(en, "GBK");   

    EncodeTest.printByteLength(en, "GB18030");   

    EncodeTest.printByteLength(en, "ISO-8859-1");

      EncodeTest.printByteLength(en, "UTF-8");

      EncodeTest.printByteLength(en, "UTF-16");   

    EncodeTest.printByteLength(en, "UTF-16BE");  

     EncodeTest.printByteLength(en, "UTF-16LE");

      System.out.println();

      // 计算一个中文汉字在各种编码下的字节数

      System.out.println("中文汉字:" + ch);

      EncodeTest.printByteLength(ch, "GB2312");

      EncodeTest.printByteLength(ch, "GBK");

      EncodeTest.printByteLength(ch, "GB18030");  

     EncodeTest.printByteLength(ch, "ISO-8859-1");   

    EncodeTest.printByteLength(ch, "UTF-8");  

     EncodeTest.printByteLength(ch, "UTF-16");  

     EncodeTest.printByteLength(ch, "UTF-16BE");  

     EncodeTest.printByteLength(ch, "UTF-16LE");  } }

    结果:

    英文字母:A 字节数:1;编码:GB2312 字节数:1;编码:GBK 字节数:1;编码:GB18030 字节数:1;编码:ISO-8859-1 字节数:1;编码:UTF-8 字节数:4;编码:UTF-16 字节数:2;编码:UTF-16BE 字节数:2;编码:UTF-16LE

    中文汉字:人 字节数:2;编码:GB2312 字节数:2;编码:GBK 字节数:2;编码:GB18030 字节数:1;编码:ISO-8859-1 字节数:3;编码:UTF-8 字节数:4;编码:UTF-16 字节数:2;编码:UTF-16BE 字节数:2;编码:UTF-16LE

  • 相关阅读:
    qt鼠标事件总结(坐标,跟踪,点击判断)
    从零开始学C++之RTTI、dynamic_cast、typeid、类与类之间的关系uml
    前端篇: 前端演进史
    找一款防文件或文件夹误删除,移动,修改的软件
    yyyy
    盘点我用过的那些网盘(那些年,我们一起玩的网盘)
    Win8/8.1/10获得完整管理员权限的方法
    [置顶] IT老男人读《因为痛,所以叫青春》
    dddd
    用JUNCTION映射文件夹内容 解决多系统跑同一个虚拟机而共享文件夹路径不同的问题
  • 原文地址:https://www.cnblogs.com/disneyland/p/4556989.html
Copyright © 2011-2022 走看看