字符集是一个字符对应哪个整数,编码是怎么存这个整数,这个整数可能会很大,需要多个字节来存。说白了,就这么回事。https://liyucang-git.github.io/2019/06/17/%E5%BD%BB%E5%BA%95%E5%BC%84%E6%87%82Unicode%E7%BC%96%E7%A0%81/
字符集:ASCII Unicode GBK(没看过标准文档,不确定 GBK 是不是字符集和编码一起规定了) 因为目前绝大多数计算机内部存储、处理的是二进制数值,所以要给不同的字符编上序号,所有编好号的字符组成字符集。 字符编码(字符对应的整数在计算机内的二进制编码方案):UTF-8 UTF-16 GBK 7bitASCII 计算机处理二进制数据时是有一定限制的,比如有位长度限制(16bit, 32bit 等),有存储器最小访问长度限制(byte bits ,单字节位长度,目前主流计算机是 8bit),所以要根据不同限制,把字符序号转换成计算机能处理的数据。比如 7bit ASCII 是用于 byte bits>=7 的计算机,一个字符使用且最多使用一个字节,属于单字符单字节的编码方案。UTF-8 则是单字符多字节。 char:应该是 C/C++语言的概念,是一个主要用于表示字符的整数类型,一般来说长度是 1 字节。 宽字符、wide char 、wchar_t:应该也是 C/C++语言的概念,一般是能存储 Unicode 字符的整数类型,一般来说长度是 2 或 4 字节。