玩家宿命提问:一个字是几个字节
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个字节。
综上所述,那要看汉字是以什么编码格式来存储了,以及汉字是否为特殊汉字以上就是国旅手游网慌张小编为大家介绍的【计算机程序常识讲解】相关内容,不知道是否解决了宿命网友对于《一个字固定等于两个字节么》的疑问。如果您还有其他类似如【一个字的长度为几个字节】相关问题,请持续关注我们的手机教程栏目或在后台留言,我们将一一为您解答