Hello!大家好,我是忙了个忙了。今天我们来讲数制转换和信息编码。
首先我们来讲什么是信息编码表示。
ASCII码
在计算机中,各种字母和符号必须使用规定的二进制码表示,计算机才能处理。在西文领域,目前普遍采用的是ASCII码(American Standard Code for Information.Interchange,美国标准信息交换码)。将每个字符用 7 位的二进制数来表示,共有 128 种状态。
常见的数字、字母的ASCLL码翻译成十进制如下所示:
字符‘0’ | -------》 | 48 |
字符‘A’(大写) | -------》 | 65 |
字符‘a’(小写) | -------》 | 97 |
基本的ASCLL码:存储时占据一个字节,最高位为0,其范围为0~127.
扩展的ASCLL码:存储时占据一个字节,最高位为1,其范围为128~255.
外码:计算机与人进行交换的字形符号,如字符‘A’的外码是‘A’。
内码:计算机内部存储和使用的数字代码,如字符‘A’的内码是65。
西文输入——>输入码(外码)——>内码(ASCLL)——>输出码(外码)——>西文输出
(西文字符处理过程)
中文字符的编码表示——GB码
国标码
国家标准强制标准冠以“GB”。推荐标准冠以“GB/T”。与很多ISO国际标准相比,很多国家标准等同采用(IDT,identical to 其他标准)、修改采用(MOD,modified in relation to 其他标准;2000年以前称作“等效采用,EQV, equivalent to 其他标准)或非等效采用(NEQ,not equivalent to 其他标准)。
GB
现时中华人民共和国官方强制使用GB 18030标准,但较旧的计算机仍然使用GB 2312。
“GB”在计算机领域中常常表示GB 2312-80或GB 18030-2005。两者是汉语编码系统的标准,在中国大陆和新加坡用于简体中文。
GB 2312标准共收录6763个汉字,其中一级汉字3755个,二级汉字3008个;同时,GB 2312收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个全角字符。
GB 2312的出现,基本满足了汉字的计算机处理需要,它所收录的汉字已经覆盖中国大陆99.75%的使用频率。
对于人名、古汉语等方面出现的罕用字,GB 2312不能处理,这导致了后来GBK及GB 18030汉字字符集的出现。
中文字符的编码表示——字形码
用于显示的字库叫显示字库。显示一个汉字一般采用16×16点阵或24×24点阵或48×48点阵。已知汉字点阵的大小,可以计算出存储一个汉字所需占用的字节空间。
例:用16×16点阵表示一个汉字,就是将每个汉字用16行,每行16个点表示,一个点需要1位二进制代码,16个点需用16位二进制代码(即2个字节),共16行,所以需要16行×2字节/行=32字节,即16×16点阵表示一个汉字,字形码需用32字节。
即:字节数=点阵行数×点阵列数/8
字形码“你”
用于打印的字库叫打印字库,其中的汉字比显示字库多,而且工作时也不像显示字库需调入内存。
Unicode
统一码(Unicode),也叫万国码、单一码,由统一码联盟开发,是计算机科学领域里的一项业界标准,包括字符集、编码方案等。
统一码是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
宣团:https://www.luogu.com.cn/team/80706
关注+点赞+收藏 与我一起享受 Coding 的欢乐