zoukankan      html  css  js  c++  java
  • Java中char的字节数

    以前一直以为char占一个字节,后来发现远没这么简单。Java中char的字节数,和编码有关。使用UTF-8,英文字符占1个字节,中文占3个字节。下面在是在Ubuntu中测试的结果:

     

    1. public static void main(String[] args) throws IOException  
    2.       
    3.     String chnStr "中文" 
    4.     System.out.println("length of two Chinese character: " chnStr.getBytes("UTF-8").length );  
    5.     String engStr "en" 
    6.     System.out.println("length of two English character: " engStr.getBytes("UTF-8").length );  
    7.  

    输出:

     

     

    1. length of two Chinese character:  
    2. length of two English character:  

    在网上流传这样一个面试题:Java中一个中文char的字节数是?答案为不确定(2,3,4),跟编码有关。下面这段程序可以证明这个答案:

     

     

    1. public static void main(String[] args) throws IOException       
    2.     String chnStr "华" 
    3.     System.out.println("length of one Chinese character in gbk: chnStr.getBytes("GBK").length );  
    4.     System.out.println("length of one Chinese character in UTF-8: chnStr.getBytes("UTF-8").length );  
    5.     System.out.println("length of one Chinese character in Unicode: chnStr.getBytes("UNICODE").length );  
    6.  
    输出

     

     

    1. length of one Chinese character in gbk:  
    2. length of one Chinese character in UTF-8:  
    3. length of one Chinese character in Unicode: 4  
  • 相关阅读:
    Oracle数据库的备份及恢复策略研讨
    ast入门 (一)
    DisableThreadLibraryCalls
    写入注册表实现自启动
    QT学习1 hello程序
    打印断言函数
    注册表基本知识
    RAS详解
    const
    QT安装
  • 原文地址:https://www.cnblogs.com/luckForever/p/7254226.html
Copyright © 2011-2022 走看看