一个字固定等于两个字节么(计算机程序常识讲解)

char型变量中能不能存贮一个中文汉字。确定下一个汉字到底占几个字符?

char类型可以存储一个中文汉字。因为Java中char的编码方式为UTF-16BE。UTF-16编码使用2或者4字节,在65536以内的占两个字节。而基本上所有中文的Unicode编码在19968到40869之间——既Unicode至少包含了20902个汉字,所以一个char类型可以存储一个汉字。

一个字固定等于两个字节么(计算机程序常识讲解)

占用的字节

GB2312

GB2312标准主要针对的是简体中文常见字符,包括约7000个汉字,不包括一些罕用词,不包括繁体字。

GBK

GBK建立在GB2312的基础上,向下兼容GB2312,也就是说,GB2312编码的字符和二进制表示,在GBK编码里是完全一样的。需要注意的是,低位字节是从0x40也就是64开始的,也就是说,低位字节最高位可能为0。

GB18030

GB18030向下兼容GBK,增加了五万五千多个字符,共七万六千多个字符。包括了很多少数民族字符,以及中日韩统一字符。

Big5

Big5是针对繁体中文的,广泛用于台湾香港等地。

Big5包括1万3千多个繁体字,和GB2312类似,一个字符同样固定使用两个字节表示。在这两个字节中,高位字节范围是0x81-0xFE,低位字节范围是0x40-0x7E和0xA1-0xFE。

总之,byte是1个字节,char是两个字节,但是char里可以存一个汉字,这么说汉字就占用两个字节?String类型里的汉字,按照编码格式的不同,分为2-4个字节的占用,UTF-8占用3个字节,特别的占用4个字节。GBK里汉字确实是占用2个字节。UTF-16里汉字一般占2个字节,特殊的是4个字节。

综上所述,那要看汉字是以什么编码格式来存储了,以及汉字是否为特殊汉字

发布于 2023-06-14 16:22:47
收藏
分享
海报
0 条评论
138
上一篇:苹果手机玩游戏没声音其他正常(IiPhone手机保姆级使用攻略) 下一篇:小米11参数配置和小米10pro对比(小米11与小米10 Pro购买建议)
目录

    推荐阅读

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码