编码知识小结
开始计算机由美国人发明,只需要输入简单的符号和英文字母就可以。一个字节可以表示256个符号,于是就创造了ASCII编码。ASCII编码大小1字节,第一位为0,所以有7位表示字符,也就是一共表示128个字符。
后来随着计算机的发展,欧洲、亚洲地区不同语言需要不同的字符表示,在原有的ASCII编码基础需要有扩展。各国有自己的编码标准,如中国制定了GB2312编码,日本把日文编到Shift_JIS里,韩国把韩文编到Euc-kr里。
这样就导致了编码标准的冲突,所以需要有统一的编码标准。于是Unicode字符集应运而生,Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。
Unicode字符集可用1~4字节表示一个字符,通常是两个字节。Unicode编码方案有很多,常见的Unicode编码方案包括UTF-8、UTF-16、UTF-32等。
以UTF-8为例,UTF-8是以一个字节为单位对Unicode进行编码。UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码,由Ken Thompson于1992年创建。需要注意的是,UTF-8是可变长度的字符编码,UTF-8用1-4个字节编码Unicode字符,是一种不定长的编码方案。UTF-8 是一个非常惊艳的编码方式,漂亮的实现了对 ASCII 码的向后兼容,以保证 Unicode 可以被大众接受。UTF-8 是目前互联网上使用最广泛的一种 Unicode 编码方式,它的最大特点就是可变长。它可以使用 1 - 4 个字节表示一个字符,根据字符的不同变换长度。总结起来,Unicode是一个字符集,定义了每个字符的唯一标识符(码点),而UTF-8是一种字符编码方式,用于将这些码点映射到字节序列以便在计算机上存储和传输。
