####为什么1个byte(字节)是8个bit?
26个英文字母,大小写共52个,加上10个数字达到62个,考虑到还有特殊字符(标点符号)和不可见的控制字符(例如:换行,在linux中用\n表示,在windows中用\n\r),必然超过64个,因为64是2的6次方,所以特别说明,有因为在计算机诞生之初对于存储和传输介质实在没有什么信心,所以预留了一个bit(位)用于奇偶校验,这就是1个Byte(字节)由8个bit组成的来历,也即是ASCII码。
####UTF-8和Unicode的关系?
- Unicode是1994年正式公布的,为每种语言中的每个字符都设定了唯一编码,以满足跨语言的交流,分为编码方式和实现方式。UTF-8只是Unicode的编码格式之一。
- UTF-8是一种以字节为单位,针对Unicode的可变长度字符长度编码,用1-6个字节对Unicode字符进行编码压缩,目的是用较少的字节表示最常用的字符。此规则能有效地降低数据存储和传输成本。
- 在UTF-8中:一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。中文标点占三个字节,英文标点占一个字节。

WeChat - 微信公众号