首页 > 编程知识 正文

java一个char占几个字节,java中char类型占几个字节

时间:2023-05-03 11:26:24 阅读:178547 作者:4062

通常,在java中,char占2个字节,但据说汉字不通的编码形式的位数不同。 例如,在gbk中汉字占2个字节,在utf8中占3个字节,在少数情况下占4个字节。 所有的汉字都可以在java程序中简单地用char c=“字”表示; 那么,java程序运行时,汉字到底占了多少字节呢? ----------------文章剽窃是在http://www.cn blogs.com/Louis wong/p/6062417.html讨论这个问题之前,我们首先要做一、unicode 符号的数量持续增加,已经超过了百万。 [ https://zh.Wikipedia.org/zh-cn/unicode ] 2,UTF:unicode转换格式(unicode transformation format )。 定义编号在unicode中的编码方式。 utf8和utf16是那两种实现方式。 这里,utf8是可变长度显示,在长度可能情况下为1~6字节; utf16是可变长度表示,长度可能是2或4字节。 详细情况: utf8 [ https://zh.Wikipedia.org/zh-cn/utf-8 ] ut F16 [ https://zh.Wikipedia.org/zh-cn/utf-16 ]然后贴内码2、外码:除了内码外,都是外码。 请注意,编译源代码生成的目标代码文件(可执行文件或类文件)的编码方式是外部代码。 首先,让我们看一下内码JVM中内码采用了UTF16。 早期,UTF16采用固定长度的双字节编码,两个字节可以表示65536种符号,足以表示当时unicode中的所有字符。 但是,随着unicode中字符的增加,双字节不能表示所有字符,而UTF16使用双字节或四字节完成编码。 为了解决这种情况,考虑到前向兼容性要求,Java用一对char表示需要4个字节的字符。 因此,Java char占用两个字节,但某些字符需要两个char。 详细信息: [ https://docs.Oracle.com/Java se/tutorial/i18n/text/unicode.html ] [ http://www.zhi Hu.com/question/2756666666665666666667676767675676786780 总结: 1、java中内码(执行内存)的char采用UTF16方式编码,一个char占用2个字节,但根据不同的字符需要用两个char来表现。 因此,一个字符占用2或4个字节。 2、在java中外代码中,char采用UTF8编码,一个字符占用1~6个字节。 3、在UTF16编码中,英文字符占2个字节; 大部分汉字,特别是常用汉字占2个字节,单个汉字(后期增加unicode码的汉字,常见的冷僻字)占4个字节。 4、在UTF8编码中,英文字符占用一个字节; 大多数汉字占3个字节,单个汉字占4个字节。 --------------------以上,java运行时采用utf16代码,很多汉字占2字节,一个Chava的说明:在utf16中,普通汉字为2字节,CJKV扩展b区

转载于:https://www.cn blogs.com/never more Wang/p/7808092.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。