一、基本概念
位:bit [bɪt],是 binary digit 的缩写,指的是一个二进制位,音译作“比特”,是二进制数据中的最小单位。IEEE 1541-2002 标准将位记作 b .
字节:Byte [baɪt],是指通常由8个二进制位组成的数据计量单位,是计算机最小的可寻址的内存单位。IEEE 1541-2002 标准将字节记作 B .
字符:字符指类字形单位或符号,包括字母、数字、运算符号、标点符号和其他符号,以及一些功能性符号。数据结构中最小的数据存取单位,通常由8个二进制位(一个字节)来表示一个字符。
bps:bits per second 的缩写,即位/秒,又称比特率、比特/秒、每秒传送位数,是数据传输速率的单位。
Bps:Bytes per second 的缩写,即字节/秒,计算机一般都以Bps显示速度,容易与bps相混淆,例如1Mbps带宽 ,在实际应用中的下载速度达不到1MB/s ,理论上只有1Mbps/8 = 128kBps .
二、换算公式
1 Byte = 8 bits
1 Bps = 8 bps
1 英文字符 = 1 Byte (ASCII)
1 中文汉字 = 2 Bytes(GB2312, GBK, Big5等)
1 中文汉字 = 3 Bytes(UTF-8)
1 中文汉字 = 4 Bytes(UTF-16)
注意:UTF-8不是固定字长编码的,而是一种变长的编码方式。它可以使用1~4个字节表示一个字符,根据不同的字符而变化字节长度。
附录:
1000 | 103 | k | kilo |
10002 | 106 | M | mega |
10003 | 109 | G | giga |
10004 | 1012 | T | tera |
10005 | 1015 | P | peta |
10006 | 1018 | E | exa |
10007 | 1021 | Z | zetta |
10008 | 1024 | Y | yotta |
参考资料:
[1] Bit, Wikipedia
[2] Byte, Wikipedia
[3] Computer Systems: A Programmer's Perspective, Randal E.Bryant / David O'Hallaron