字、字节、字符、编码方式
参考文章:详解计算机中的字、字节(Byte)、比特(bit)及它们之间的关系
字、字节
字由若干个字节组成,一个字节是8个比特bit。字的位数叫做字长,即cpu一次处理二进制代码的位数。
换算:
- 1字节(Byte/byte)= 8位(Bit/bit)
- 1字符占用的字节不确定(不同的编码方式不同)
- 1KB=1024Byte;1MB=1024KB。。。
- 32位计算机:1字=32位=4字节;64位计算机:1字=64位=8字节
字符的编码
字符是指计算机中的文字和符号。在计算机的具体表示中,又有不同的编码,估计编程的人都比较懂,常见有ASCII码、GB2312、GBK,UTF-8编码、Unicode编码。
GB2312和GBK
GB2312和GBK是中国汉字编码方案标准,同时兼容ASCII码。GB2312是简体汉字编码规范,但GBK是大字符集,不仅包含了简体中文,繁体中文还包括了日语、韩语等所有亚洲文字的双字节字符。
最新汉字编码标准GB18030,其中已经可以支持中日韩以及藏文、蒙文,维吾尔文等少数民族文字。但这些说到底还是以中文为主。
ASCII
ASCII码是美国信息互换标准代码,是一套基于拉丁字母的字符编码,其中包含了33个控制字符(具有某些特殊功能)和95个可显示字符,总共定义了128个字符。ASCII码当中一个汉字占两个字节空间,一个英文字母(不区分大小写)占一个字节空间。ASCII 编码是最简单的西文编码方案。
Unicode
Unicode编码是ASCII码的一个扩展,采用双字节对字符进行编码。一个英文等于两个字节,一个中文(含繁体)也等于两个字节。英文标点占用一个字节,中文标点则占用2个字节。
UTF-8
UTF-8编码是一种多字节编码,也是目前互联网应用最广泛的一种Unicode编码方式。最大特点就是可变长,可根据字符的不同变换长度。一个英文字符占用一个字节,一个中文(含繁体)占用三个字节。英文标点占用1个字节,中文标点同样占用3个字节。
UTF-8包含了全世界所有国家需要用到的字符,是国际编码,通用性极强。使用这种编码的话,一旦文章中同时出现中文、英文或者繁体,浏览器都会支持,而不会出现乱码。