一个英文字母,一个中文各占多少字节

本文详细介绍了字符编码的不同类型,包括ASCII、UTF-8和Unicode的区别。ASCII码中,英文字符占1字节,中文占2字节;UTF-8编码下,英文1字节,中文3字节;而Unicode编码中,英文和中文都是2字节。此外,还探讨了Java和Python中字符与字节的关系,以及不同编码下中文和英文的字节占用。
摘要由CSDN通过智能技术生成

首先不同编码,所占字节数不同。

1,ASCII码:一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字度节的空间。

2,UTF-8编码:一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。中文标点占三个字节,英文标点占一个字节

3,Unicode编码:一个英文等于两个字节,一个中文(含繁体)等于两个字节。中文标点占两个字节,英文标点占两个字节

字节是指Byte
字符是一种数据类型,通常是char,更具不同语言,占据不同字节大小。

Java:

(1)、英文和数字占一个字节
(2)、中文占一个字符,也就是两个字节
(3)、字符 不等于 字节。
字符(char)是 Java 中的一种基本数据类型,由 2 个字节组成( java采用unicode编码,故均占两个字节),范围从 0 开始,到 2^16-1。
字节是一种数据量的单位,一个字节等于 8 位。所有的数据所占空间都可以用字节数来衡量。例如一个字符占 2 个字节,一个 int 占 4 个字节,一个 double 占 8 个字节 等等。

1字符=2字节;
1Byte=8bit

b:位;B:字节

1kb=1024 位1kB=1024 字节

1 Byte = 8 Bits
1 Kilobyte (KB) = 1024 Bytes
1 Megabyte (MB) = 1024 KB
1 Gigabyte (GB) = 1024 MB
1 Terabyte (TB) = 1024 GB
1 Petabyte (PB) = 1024 TB
1 Exabyte (EB) = 1024 PB
1 Zettabyte (ZB) = 1024 EB
1 Yottabyte (YB) = 1024 ZB

python

中文和符号:

print(type('中文'.encode('utf-8')))  #输出为bytes类型
执行结果:
<class 'bytes'>

print(type('中文'.encode('gbk')))
执行结果:
<class 'bytes'>

print(len('中文'.encode('utf-8')))  #输出几个字节
执行结果:
6

print(len('中文'.encode('gbk')))
执行结果:
4

print(len(',。'.encode('gbk')))
执行结果:
4

英文字母和符号:

print(type('ab'.encode('utf-8')))
执行结果:
<class 'bytes'>
print(len('ab'.encode('utf-8')))
执行结果:
2

print(len(',.'.encode('gbk')))
执行结果:
2

总结

utf-8编码:一个中文包含繁体字等于三个字节,一个英文字符等于一个字节。
gbk编码:一个中文包含繁体字等于二个字节,一个英文字符等于一个字节。

  • 14
    点赞
  • 101
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值