编程语言中,ASCII、GBK、Unicode等都是什么

2024-10-14 21:23:30

1、严格来说,字符集和字符编码不是一个概念,字符集定义了文字和二进制的对应关系,为字符分配了唯一的编号,而字符编码规定了如何将文字的编号存储到内存中。我们暂时先不讨论这些细节,姑且认为它们是一个概念,本节中我也混用了这两个概念,未做区分。下一节我们将深入讲解字符集和字符编码的区别。

编程语言中,ASCII、GBK、Unicode等都是什么编程语言中,ASCII、GBK、Unicode等都是什么

4、ASCII 编码计算机是美国人发明的,他们首先要考虑的问题是,如何将二进制和英文字母(也就是拉丁文)对应起来。当时,各个厂尸园拽诟家或者公司都有自己的做法,编码规则并不统一,这给不同计算机之间的数据交换带来不小的麻烦。但是相对来说,能够得到普遍认可的有 IBM 发明的 EBCDIC 和此处要谈的 ASCII。我们先说 ASCII。ASCII 是“American Standard Code for Information Interchange”的缩写,翻译过来是“美国信息交换标准代码”。看这个名字就知道,这套编码是美国人给自己设计的,他们并没有考虑欧洲那些扩展的拉丁字母,也没有考虑韩语和日语,我大中华几万个汉字更是不可能被重视。但这也无可厚非,美国人自己发明的计算机,当然要先解决自己的问题ASCII 的标准版本于 1967 年第一次发布,最后一次更新则是在 1986 年,迄今为止共收录了 128 个字符,包含了基本的拉丁字母(英文字母)、阿拉伯数字(也就是 1234567890)、标点符号(,.!等)、特殊符号(@#$%^&等)以及一些具有控制功能的字符(往往不会显示出来)。

编程语言中,ASCII、GBK、Unicode等都是什么

6、由于 ASCII 先入为主,已经使用了十来年了,现有的很多软件和文档都是基于 ASCII 的,所以后来的这些字符编码都是在 ASCII 基础上进行的扩展,它们都兼容 ASCII,以支持既有的软件和文档。兼容 ASCII 的含义是,原来 ASCII 中已经包含的字符,在国家编码(地区编码)中的位置不变(也就是编码值不变),只是在这些字符的后面增添了新的字符。

编程语言中,ASCII、GBK、Unicode等都是什么

8、由于历史原因,现代的操作系统同时支持 ASCII、国家编码(地区编码)、Unicode 编码,但是在底层已经开始使用 Unicode,有的操作系统会将其它编码先转换成 Unicode 后再进一步处理,Unicode 已经是大势所趋。大家在开发自己的软件时也应该尽量使用 Unicode,这样不但支持全球的计算机,还能提高字符处理效率,因为少了编码转换的环节。

编程语言中,ASCII、GBK、Unicode等都是什么
猜你喜欢