ascii,gbk,unicode和utf-8的区别

ascii:
ASCII码(American Standard Code for Information Interchange),美国标准信息交换代码,主要用于显示现代英语和其他西欧语言,8位一个字节,1个字节表示一个二进制0或1,所以ASCII码最多只能表示256个字符.
常用:
48~57表示0到9
65~90表示A-Z
97~122表示a-z
unicode:
俗称万国码,把所有的语言统一到一个编码里.解决了ascii码的限制以及乱码的问题.
unicode码一般是用两个字节表示一个字符,特别生僻的用四个字节表示一个字符.
utf-8:
如果统一成unicode编码,乱码问题从此消失了.但是如果你写的文本基本上都是英文的,用Unicode编码比ascii编码需要多一倍的存储空间,在存储和传输上十分不方便.
utf-8因此而生,它是一个"可变长的编码方式",如果是英文字符,则采用ascii编码,占用一个字节.
如果是常用汉字,就占用三个字节,如果是生僻的字就占用4~6个字节.
utf-8区分每个字符的开始是根据字符的高位字节来区分的,比如用一个字节表示的字符,第一个字节高位以“0”开头;用两个字节表示的字符,第一个字节的高位为以“110”开头,后面一个字节以“10开头”;用三个字节表示的字符,第一个字节以“1110”开头,后面俩字节以“10”开头;用四个字节表示的字符,第一个字节以“11110”开头,后面的三个字节以“10”开头。
gbk:
由于ASCII编码不支持中文,因此,当中国人用到计算机时,就需要寻求一种编码方式来支持中文。
国内版本,一个中文字符是两个字节 英文是一个字节。

附:url编码
url编码是一种浏览器用来打包表单输入的格式。
URL只能使用英文字母、阿拉伯数字和某些标点符号,不能使用其他文字和符号。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45496593/article/details/121615786