15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > 中文编码—转载自柴知道

中文编码—转载自柴知道

时间:2023-06-21 22:03:02 | 来源:网站运营

时间:2023-06-21 22:03:02 来源:网站运营

中文编码—转载自柴知道:

声明:本文转载自柴知道,为个人学习资料记录,原视频见视频,原文见文本


内容笔记:

使用一个字节前128字符空间:ascii

一个字节后全128空间:eascii

两个字节:GB2312—80

微软扩展中文集:GBK2312

万国码:unicode(utf8,utf16,utf32)


文字版脚本
2022年,一则娱乐新闻冲上了热搜,但网友们很快发现,这里的“⼊”并不是我们常用的中文“入”,而是热心人为了降热度用的替换符号,给我们玩了一个花招。


这只是有关电脑文字的无数小故事之一。在过去的日子里,你见过跟别的字格格不入的孤寡文字,打开过全是“锟 (kūn) 斤拷”的txt小说,全是框框的游戏对话,点击过长得跟真网址一模一样的钓鱼网站,甚至有一个连派出所也登记不了的名字......


所有这一切,都跟电脑显示文字的原理有关。在这期视频里,我们会带你入门中文显示,了解乱码、孤寡文字和钓鱼网站背后的有趣故事。


话不多说,开始吧!


电脑显示文字,涉及到三个重要的概念:字符、字符集,和字符编码。


一个汉字、一个拉丁字母、一个数字,世界上各种语言里的“字”和“标点符号”,都属于“字符”。一堆字符组成的集合,叫做“字符集”


人类世界有海量的字符,它们原本都写在纸上,甚至刻在石头上。而所有这些字符,计算机......一个都不认识。


你肯定知道,计算机只认二进制,只能以比特的形式记录“0”和“1”。为了让计算机“识字”,我们就需要把这些字符用 0 和 1 表示出来。把字符转换成 0 和 1 的规则,叫做“字符编码”


那么,怎么给字符编码,把它们变成0和1呢?


很简单:我们可以选定一个字符集,让字符们“排排坐”,再把“座位序号”转换成二进制——这个“座位序号”叫做“码位”,座位的总数叫做“码空间”。码空间越大,字符集就越大。


比如世界上如果只有“柴”“知”“道”这三个字的话,那我们就可以把“柴”编码为00,“知”编码为01,“道”编码为10。这样计算机一看到这些编码,就知道要显示哪个字了。


在现实世界中,计算机存储数据的基本单位是“字节”,也就是Byte。一个字节,由 8 个二进制位组成,也就是 8 个比特(bit)。每个比特有 0 和 1 两种状态,8个比特一共有 2^8 个,也就是 256 种不同的状态。


所以如果只用一个字节长度来编码字符,那么这个字符集就能容纳 256 个字符。


听起来很少对不对?但对于英文来说已经够了,反正他们一共只有 26 个英文字母嘛~


所以在上世纪 60 年代,美国人先搞出了“美国信息交换标准代码”,简称 ASCII 。ASCII 总共收录了 128 个字符,包括大小写拉丁字母、数字、常用标点,以及像 ESC、换行这种看不见的控制字符。


到此为止,事情都很简单:无非就是给这 128 个字符按照顺序排号,再把序号转换为二进制数字。需要显示的时候,从计算机存储的 ASCII 字符集中按编号调用字符,就能在屏幕上显示出来。


一个字符集,对应一个编码规则,不会出错,一切都很清晰,简单,完美。


但所有的完美都是易碎的。这世界上远远不止英文一种语言,当各国都要跑步进入信息化社会的时候,文字显示的“乱纪元”就开启了。


刚才说过,用一个字节编码字符,最多能容纳256个码位。英语一共才那么点字符,256 个码位用完都还剩一半。所以西欧一些国家,就搞了“扩展美国信息交换标准代码”,EASCII,也就是用剩下的这 128 个空位,来表示其他的字符:比如上方有注音符号的法语字母,西班牙语里的特殊标点,数学上常用的 α、β 等希腊字母,以及一大堆特殊符号等等。


这时候,问题就已经开始冒头了:


各国搞的 EASCII 字符集和编码,后面 128 个字符都不太一样,一共搞出了 200 多种 EASCII ,互不兼容。就算是同样一串二进制数,在不同的 EASCII 中对应的字符也不同。所以同一份文本哪怕放到不同语言的计算机中打开,都可能会出现“乱码”。


这还算好的。因为当信息高速公路修到中、日、韩等国家和地区时,就要面临一个更复杂的问题:汉字。


汉字的历史源远流长,总数量那可太多了。我国 1980 年公布的《GB 2312-80 信息交换用汉字编码字符集 基本集》,就包含了 6763 个常用简体汉字,以及一些标点、符号、数字、拉丁字母等。


那很显然, 1 个字节长度最多只能编码 256 个字符,对汉字来说根本不够用。所以 GB 2312 用两个字节长度,来编码一个字符,这样理论上就可以容纳 2^16 个,也就是 65536 个字符。现在输入法里的全角标点符号就是用两个字节编码的,而半角标点符号,就是用一个字节编码的。


不过,GB 2312-80 字符集里这六千多个汉字,只是最最常用的汉字,其实根本不够用,比如像“喆”,“頫(fǔ)”,“旻(mín)”,“祎(yī)”这些人名中的常见字甚至都不包括在内。


那字符集里没有的那个字怎么办呢?那就打不出来。


所以在过去,如果你叫“张

关键词:编码,转载,中文

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭