"a".getBytes() 为什么只返回一个字节的数组.
java 里面不是每个字符占两个个字节吗?
求解...............

解决方案 »

  1.   


    Java的字符类型 char 占用2个直接,因为他是Unicode编码
    Java简单数据类型
    简单类型 大小 范围/精度 
    float 4 字节 32位IEEE 754单精度 
    double 8 字节 64位IEEE 754双精度 
    byte 1字节 -128到127 
    hort 2 字节 -32,768到32,767 
    int 4 字节 -2,147,483,648到2,147,483,647 
    long 8 字节 -9,223,372,036,854,775,808到9,223,372,036, 854,775,807 
    char 2 字节 整个Unicode字符集 
    oolean 1 位 True或者false 
      

  2.   


    Java的字符类型 char 占用2个直接,因为他是Unicode编码
    Java简单数据类型
    简单类型 大小 范围/精度 
    float 4 字节 32位IEEE 754单精度 
    double 8 字节 64位IEEE 754双精度 
    byte 1字节 -128到127 
    short 2 字节 -32,768到32,767 
    int 4 字节 -2,147,483,648到2,147,483,647 
    long 8 字节 -9,223,372,036,854,775,808到9,223,372,036, 854,775,807 
    char 2 字节 整个Unicode字符集 
    boolean 1 位 True或者false 
      

  3.   

    "a".length()
    平".length()
    它们俩长度相同都为1,这是按什么计算的?
      

  4.   


    字符串中的一个字符在JVM中占一个CHAR得内存空间,一个char的内存空间大小是16位,英文字母A理论上是8个二进制代码一个字节,一个汉字理论上是16个二进制代码2个字节,但是在JVM中占得都是16位一个char类型的空间,所以length的结果都是 1   1个字符
      

  5.   


    仔细看看 String 的API
      

  6.   

    那java中一个长度是按两个字节算罗.
      

  7.   

    它上面说是按平台默认的字符集转换成字节序列然后存在字节数组里.默认的字符集是gbk....