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

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

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编码:一个中文包含繁体字等于二个字节,一个英文字符等于一个字节。

你可能感兴趣的:(Python,python)