本文将依次介绍ASCII、GBK、UTF-32、UTF-8四种编码。
ASCII
英文只有数字、英文字符和一些符号。7个二进制位足够表示所有字符。ASCII码用一个字节表示,最左边的那个bit都是0。总共可以表示128个字符。
GBK
GBK是为中文设计的编码。一个中文字符编码成两个字节的形式存储。
GBK兼容了ASCII字符集。
GBK规定:汉字的第一个字节的第一位必须是1。
GBK包含了2万多个汉字等字符。
UTF-32
unicode是国际组织制定的,可以容纳世界上所有文字、符号的字符集。
UTF-32一个字符占用4个字节。
缺点是占存储空间,通信效率变低。所以出现了UTF-8。
UTF-8
UTF-8是unicode字符集的一种编码方案,采取可变长编码方案。共分为四个长度:1个字节/2个字节/3个字节/4个字节
UTF-8中英文字符、数字只占1个字节(兼容标准ASCII编码),汉字字符占用3个字节。
参考
https://www.bilibili.com/video/BV1xD4y1y7yc?p=1&vd_source=a06e7ddea507bcc3516662eafe9d0787