中文编码GB2312 回忆上次内容
  • 上次回顾了 日韩各有 编码格式
  • 日本
  • 有假名
  • 五十音
  • 一字节 可以勉强放下
 
  • 有日本汉字
  • 字符数量超过20000+
 
 
  • 韩国
  • 有谚文
  • 数量超过500
  • 一个字节 放不下
 
  • 有朝鲜汉字
  • 字符数量超过20000+
 
 
 

 
添加图片注释,不超过 140 字(可选)
 
  • 作为 汉字源头的中国
  • 究竟应该 如何对汉字 进行编码 呢?
 
汉字
  • 汉字起源于甲骨文
  • 是世界上唯一还在使用的象形文字
  • 真的很不容易
 

 
添加图片注释,不超过 140 字(可选)
 
  • 写的本意 就是 画
  • 写意
  • 写生
 
  • 这就是最初的
  • 象形字
 
六书
  • 以象形为基础
  • 指事
  • 会意
  • 形声
  • 转注
  • 假借
 

 
添加图片注释,不超过 140 字(可选)
 
  • 字的结构是什么呢?
间架结构
  • 上下
  • 左右
  • 内外

 
添加图片注释,不超过 140 字(可选)
 
  • 字型相当复杂
  • 笔画也千姿百态
汉字笔画
  • 笔画也比较复杂

 
添加图片注释,不超过 140 字(可选)
 
  • 运笔藏锋都很有讲究
中国大陆地区
  • 中国大陆地区最早使用 GB/T 2312-1980
  • 当时参考了比我们先进的日本JIS 字符集
  • 1980 年 指定的国标 (GuoBiao)
  • 1981 年 5 月 1 日开始使用
 

 
添加图片注释,不超过 140 字(可选)
 
  • GB2312 编码共收录汉字 6763 个
  • 其中一级汉字 3755 个
  • 二级汉字 3008 个
 
  • 这么多字怎么排呢?
区位
  • 01-09 区为特殊符号
  • 先把ascii的128个字符让出去
  • 然后在留有一些制表的字符
  • 还留了相当多的空余
 
  • 16-55 区为一级汉字
  • 按拼音排序
 
  • 56-87 区为二级汉字
  • 按部首/笔画排序
 

 
添加图片注释,不超过 140 字(可选)
 
  • 出了汉字之外,还收录了
  • 拉丁字母
  • 希腊字母
  • 日文平假名及片假名字母
  • 俄语西里尔字母
  • 真的很全了
 
  • 可是这gb2312
  • 具体是如何编解码的呢?
 
应用

 
添加图片注释,不超过 140 字(可选)
 
  • 如果是0-127以内的ascii字符
  • 标志位为0
  • 1个字节存储
 

 
添加图片注释,不超过 140 字(可选)
 
  • 如果是ascii以外的字符
  • 标志位为1
  • 2个字节存储
 
编解码
  • 编解码方法一致就可以
  • 解铃还须系铃人
 

 
添加图片注释,不超过 140 字(可选)
 
  • 同时用 gb2312 编解码是没有问题的
  • 这篇 制定标准的文档
  • 当时怎么打印出来的呢?
  • 制定内码标准的 时候 就有 字形 了吗?
 
铅字
  • 虽然 计算机 在当时 还 没有普及
  • 但是 出版行业 已经 工业化 了
 

 
添加图片注释,不超过 140 字(可选)
 
  • 印刷厂 使用 铅活字 进行排版
  • 铸字工
  • 拼版工
  • 还有拣字工
 
拣字工
  • 印刷家谱 从 一个大盒子 就够了

 
添加图片注释,不超过 140 字(可选)
 
  • 字 再多些
  • 要用 转轮排字盘
 

 
添加图片注释,不超过 140 字(可选)
 
  • 字 再多些呢?
捡字室
  • 大 印刷厂
  • 字模 特别多
 

 
添加图片注释,不超过 140 字(可选)
 
  • 甚至 要放
  • 好 几面墙
  • 好 几张桌子
 
开端
  • 这 也 曾被
  • 使用26个字母的 西方文明 嘲讽
 

 
添加图片注释,不超过 140 字(可选)
 
  • 出书确实不易
  • 捡好了 字
  • 排好了 版
  • 先 打个样
  • 再来 校对
  • 再 浇铅板
  • 最后 印刷
 
  • 最初的
  • 书籍
  • 杂志
  • 报纸
  • 试卷
  • 都是这样 印刷出来 的
 
  • 到了 印刷 gb2312-80标准的 1980年
  • 已经启用了新的技术
 
机械打字机
  • 从 轮转排字盘
  • 到 谢卫楼 发明的 中文打字机
 

 
添加图片注释,不超过 140 字(可选)
 
  • 再到 舒震东
  • 在前人的研究基础上经过创新
  • 得到的 舒式打字机
 

 
添加图片注释,不超过 140 字(可选)
 
  • 中文字符 的数量
  • 是 一个难关
 
  • 直到
  • 照相技术 的 发展
 
照片排版
  • 使用 照片底片 进行排版

 
添加图片注释,不超过 140 字(可选)
 
  • 也面临检字的工作

 
添加图片注释,不超过 140 字(可选)
 
  • 照片排版技术本身也在迭代
激光照排
  • 这次使用 激光 扫描照片

 
添加图片注释,不超过 140 字(可选)
 
  • 每一个小字型都是一个照片
  • 根据汉字内码找到汉字对应的激光照片
  • 然后再把激光照片像活字一样排版
  • 这就是激光照排技术
 

 
添加图片注释,不超过 140 字(可选)
 
  • 用照片排版的方式
  • 制作了这样一个汉字编码的文档
 
  • 标准定了立刻就能用起来么?
过程
  • 凡事都有个过程
  • 95年定的gbk
  • 98年才逐渐推行开来
 
  • 但还是有些生僻字没有相应的字型

 
添加图片注释,不超过 140 字(可选)
 
  • 内码从无到有
  • 字形码也从无到有
 

 
添加图片注释,不超过 140 字(可选)
感谢前辈
  • 感谢王选与陈堃銶前辈的技艺

 
添加图片注释,不超过 140 字(可选)
 
  • 激光照排技术 可以
  • 印刷中文书籍 和 报纸 了
 
总结
  • 简体和繁体的汉字
  • 字符数量都超级大
  • 感谢王选和陈堃銶等前辈发明了激光照排技术
  • 中文排版从此使用上了gb2312编码
 

 
添加图片注释,不超过 140 字(可选)
 
  • 纸张之外
  • 显示器是更先进的输出设备
 


[oeasy]python0123_中文字符_文字编码_gb2312_激光照排技术_王选的更多相关文章

  1. perl处理含有中文字符的json编码

    例子:1. 有php的 json函数生成的中文串 [root@tts177:/tmp]$/opt/php/bin/php -r 'echo json_encode(Array("a" ...

  2. 编码占用的字节数 1 byte 8 bit 1 sh 1 bit 中文字符编码 2. 字符与编码在程序中的实现 变长编码 Unicode UTF-8 转换 在网络上传输 保存到磁盘上 bytes

    小结: 1.UNICODE 字符集编码的标准有很多种,比如:UTF-8, UTF-7, UTF-16, UnicodeLittle, UnicodeBig 等: 2 服务器->网页 utf-8 ...

  3. 中文字符 unicode转utf-8函数 python实现

    unicode编码范围 00000000-0000007F的字符,用单个字节来表示: 00000080-000007FF的字符用两个字节表示 (中文的编码范围) 00000800-0000FFFF的字 ...

  4. Java实现 中文转换成Unicode编码 和 Unicode编码转换成中文

    想要实现中文字符转换为Unicode编码的话主要用到的是一个这样的包,自己可以去API文档里面查看下的 java.util.Properties; 直接进入主题吧,主要是 package Test01 ...

  5. ajax 传递中文字符参数 问题

    使用ajax 传递中文字符串时, 服务端会接收不到预期的 中文字符. 此时,需要对 js中的中文字符参数进行 编码,  到达服务端后, 再为其解码 即可. 前端: var url = '....'; ...

  6. 在使用NSArray打印的时候如果遇到中文字符那么会打印出来编码。

    在使用NSArray打印的时候如果遇到中文字符那么会打印出来编码,如下代码: - (void)viewDidLoad { [super viewDidLoad]; // Do any addition ...

  7. python利用utf-8编码判断中文字符

    下面这个小工具包含了 判断unicode是否是汉字,数字,英文,或者其他字符. 全角符号转半角符号. unicode字符串归一化等工作. 还有一个能处理多音字的汉字转拼音的程序,还在整理中. #!/u ...

  8. 使用 URLDecoder 和 URLEncoder 对中文字符进行编码和解码

    原文: https://blog.csdn.net/justloveyou_/article/details/57156039 使用 URLDecoder 和 URLEncoder 对中文字符进行编码 ...

  9. url为什么要编码及php中的中文字符urlencode基本原理

    首先了解以下中文字符在使用urlencode的时候运用的基本原理: urlencode()函数原理就是首先把中文字符转换为十六进制,然后在每个字符前面加一个标识符%. 此字符串中除了 -_. 之外的所 ...

  10. Python2.7 中文字符编码 & Pycharm utf-8设置、Unicode与utf-8的区别

    Python2.7 中文字符编码 & Pycharm utf-8设置.Unicode与utf-8的区别 zoerywzhou@163.com http://www.cnblogs.com/sw ...

随机推荐

  1. MYSQL造数据占用临时表空间

    在MySQL中,临时表空间通常用于存储如ORDER BY.GROUP BY.DISTINCT.UNION.JOIN等操作中产生的临时数据.当这些操作的数据集太大而无法在内存中完成时,MySQL会使用磁 ...

  2. 用tkinter编写一个简单的登录注册界面

    代码: from tkinter import * window = Tk() window.geometry('400x300+500+150') window.title('xxx系统') Can ...

  3. vue.js的M-V-VM思想

    MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式. Model 指代的就是vue对象的data属性里面的数据.这里的数据要显示到页面中. View 指代的就 ...

  4. 分布式缓存NewLife.Redis

    NewLife.Redis 是一个Redis客户端组件,以高性能处理大数据实时计算为目标. Redis协议基础实现位于Redis/RedisClient,FullRedis为扩展实现,主要增加列表结构 ...

  5. 在kubernetes里使用AppArmor限制容器对资源的访问

    目录 一.系统环境 二.前言 三.AppArmor简介 四.AppArmor和SELinux的区别 五.使用AppArmor限制nginx程序访问目录 5.1 安装nginx 5.2 修改nginx的 ...

  6. MySQL学习笔记-数据操作语言

    SQL-数据操作语言(DML) 数据操作语言,用于对数据库中表的数据记录进行增删改的操作 一.添加数据(insert) 1. 给指定字段添加数据 insert into {表名} ({字段1},{字段 ...

  7. 使用python批量获取excel的sheet名称

    这个脚本的重用是批量读取excel并获取每个excel的所有sheet名输出到一个文件中. 环境:python 3.7.3 1 # -*- coding:utf-8 -*- 2 3 ''' 4 本代码 ...

  8. 用typescript实现一个event bus

    一个简单event bus的实现 发布订阅者模式 type emitKey = number | string | symbol; type func = (...args: any) => v ...

  9. 安卓app 地铁最短路径查询 完成

    我通过三个函数 完成了这个功能 首先  创建哈希表 根据起始站名 终点站名 然后 根据哈希表 建立起 邻接表' 最后 根据迪杰斯特拉算法 完成这个功能 /** * function:起终查询 */ / ...

  10. MyBatis 关于查询语句上配置的详细内容

    1. MyBatis 关于查询语句上配置的详细内容 @ 目录 1. MyBatis 关于查询语句上配置的详细内容 2. 准备工作 3. SQL查询结果,返回为POJO实体类型 4. SQL查询结果,返 ...