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

  • 相关阅读:
    Entity Framework 博客园专题
    部分视图调用方法总结(Action 、 RenderAction 、 Partial 、 RenderPartial)
    vs2010下安装asp.net MVC3顺序
    _viewstart.cshtml的作用
    c# yyyyMMdd,dd/MM/yyyy 类型字符串转换为datetime 类型
    c# datetime用法总结
    SQL中的每一张表都必须设有主键吗
    数据库到底用不用外键
    mysql 数据库数据迁移 The user specified as a definer ('root'@'%') does not exist 解决方法
    项目--解决MySQL数据库插入中文乱码
  • 原文地址:https://www.cnblogs.com/disneyland/p/4556989.html
Copyright © 2011-2022 走看看