[oeasy]python0111_字型码_字符字型编码_点阵字库_ascii演化
- 上次回顾了 早期的英文字符点阵
- 最小的 3*5
- 通用的 5*7
- 点阵字库逐渐规范化
- 这些点阵字符的字型
- 究竟是如何被存储的呢?
- 1602
- 2行 x 16个字符
- 每个字符个 5x7 个像素
- 绿色的风格
- 把字型 进行 编码
- 所谓 编码
- 就是把 字体的长相
- 弄到计算机的字节中去
- 可以设置 比一般(Regular)更粗的
- 加粗(Bold)字体
- 可以在显示器中看到字符了
- 等宽
- 无衬线
- 清晰
- 回顾一下ascii的 演化过程
- 1963年
- ASA X3.4-1963
- 绿色的位置
- 空了下来
- 不确定到底放些什么
- 1965年
- Bemer向ASCII引入大括号
- 这才有后来的c语言的大括号语法
- ESC键落到了现在的位置
- \033 或者说 \x1b
- 成为了控制序列的基础
- 英文小写字母
- 占据了绿色部分
- 0x61-0x7a
- 小写字母落实了位置!
- 但是法文字符没有位置了
- ascii-1965的结果是
- 0-127没有法文字符的位置了
- ascii的范围确定死了
- 在哪儿放法文字符呢?
- ascii如何在字节中表示呢?
- 关键各个地区
- 都有自己的 7-bit的ascii
- 加拿大地区 要有法文字符
- 这些字符 占据了标点的位置
- 比如b"\x60"
- 在标准ascii中被认为是@
- 在ISO646-CA Canada中被认为是 ô
- 加拿大地区 无法使用@
- 无法使用 电子邮件?!
- 这很 令人崩溃
- ASCII中 没有法文字符
- 所有 法文字符的位置
- 都被 标点符号 占据了
- ascii 的优点
- ascii大小写字母之间只差 1 位(bit)
- 简化了大小写不敏感的匹配
- ascii 的字母序号 是连续的
- 做字符和字符串比较的时候
- 就非常 直接和容易
- 判断 字符是否是字母
- 也很容易
- 这就是 ascii字符
- 7 x 5 的 点阵字型
- 总共 128个字符
- c和unix时代的
- 电传打字机ASR33
- 逐渐落幕
- 黑底绿字的 无衬线点阵风格
- 成为 一代人心里
- 抹不去的记忆
- 我们在vim中选用的murphy配色方案
- 就在致敬
- 这种审美
- 黑底绿字最潮了!
- 另一个 因技术所限
- 而导致的迷因
- 隔行扫描
- 也是由于 当时刷新速度所限 造成的
- 但是
- 今天成了
- 一种怀旧的迷因
- 除了 字符之外
- 当时的点阵式的显示终端
- 对字体审美
- 也有影响
- 无衬线字体
- 无衬线风格的出现
- 是由于 点阵字库技术所限
- 但却成为了潮流所向
- 衬线
- 是上个时代的主题
- 体现着
- 优雅
- 装饰风格
- 文化底蕴
- 像素点阵风格
- 影响 数字世界的 审美
- 从衬线风格 到 无衬线风格
- 辨析度重要性
- 高于风格化的
- 时代来了
- 字体进化
- 从印刷时代的 有衬线字体
- 到显示器时代的 无衬线字体
- 这次回顾了 字型编码的进化过程
- 从 7-seg 到 点阵字库
- 终于让字母、数字、标点 明确了字型
- 小写字符 替代了 法文字符
- 7-bit的ascii
- 已经被完全填满
- 再也没有 法文字符的位置
- 法文字符的编码中
- 无法 编码@字符
- 不同的语言
- 有不同的 特殊字符
- 在不同字符集里面
- 特殊字符 和 标点
- 占据相同位置
- 字符集 不同
- 则会将文档
- 显示为乱码
- 这可怎么办呢?
- 我们下次再说!
[oeasy]python0111_字型码_字符字型编码_点阵字库_ascii演化的更多相关文章
- java 基础--8 种基本数据类型:整型、浮点型、布尔型、字符型 整型中 byte、short、int、long 的取值范围 什么是浮点型?什么是单精度和双精度?为什么不能用浮点型表示金额?
一.8种基本数据类型(4整,2浮,1符,1布): 整型:byte(最小的数据类型).short(短整型).int(整型).long(长整型): 浮点型:float(浮点型).double(双精度浮点 ...
- [网络编程之Socket套接字介绍,套接字工作流程,基于TCP协议的套接字程序]
[网络编程之Socket套接字介绍,套接字工作流程,基于TCP协议的套接字程序] 为何学习socket套接字一定要先学习互联网协议: 1.首先:要想开发一款自己的C/S架构软件,就必须掌握socket ...
- [ASP.NET MVC] ASP.NET Identity学习笔记 - 原始码下载、ID型别差异
[ASP.NET MVC] ASP.NET Identity学习笔记 - 原始码下载.ID型别差异 原始码下载 ASP.NET Identity是微软所贡献的开源项目,用来提供ASP.NET的验证.授 ...
- Razor 将C#对象转换成Javascript对象, json还原被转码的字符 "·· HTML转义符
Razor 将C#对象转换成Javascript对象 在Razor中使用Json字符串,特殊字符被自动转义(如:\"->") @{ var jsonStr = Html.Ra ...
- [19/03/31-星期日] IO技术_四大抽象类_字符流( 字符输入流 Reader、 字符输出流 Writer )(含字符缓冲类)
一.概念 Reader Reader用于读取的字符流抽象类,数据单位为字符. int read(): 读取一个字符的数据,并将字符的值作为int类型返回(0-65535之间的一个值,即Unicode ...
- AS3中ASCII码和字符互转函数
AS3中ASCII码和字符互转函数 字符转成ASCII码: 格式:字符串变量.charCodeAt(字符位置); var str:String = “A”; trace(str.charCodeAt( ...
- 流式套接字(SOCK_STREAM),数据报套接字 (SOCK_DGRAM) 的比较
1.流式套接字 使用这种套接字时,数据在客户端是顺序发送的,并且到达的顺序是一致的.比如你在客户端先发送1,再发送2,那么在服务器端的接收顺序是先接收到1,再接收到2,流式套接字是可靠的,是面向连接的 ...
- C#中的流_字节_字符_字符串之间的相互转换
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
- 鸿蒙内核源码分析(字符设备篇) | 字节为单位读写的设备 | 百篇博客分析OpenHarmony源码 | v67.01
百篇博客系列篇.本篇为: v67.xx 鸿蒙内核源码分析(字符设备篇) | 字节为单位读写的设备 | 51.c.h.o 文件系统相关篇为: v62.xx 鸿蒙内核源码分析(文件概念篇) | 为什么说一 ...
- java ->IO流_字符流
字符流 经过前面的学习,我们基本掌握的文件的读写操作,在操作过程中字节流可以操作所有数据,可是当我们操作的文件中有中文字符,并且需要对中文字符做出处理时怎么办呢? 字节流读取字符的问题 通过以下程序读 ...
随机推荐
- 模仿jinja2的模板语言实验,可用于简易框架中
mcw_str=''' wo shi {{ name }} ''' import re class myclass(): def inithtml(self): ret1 = re.search('{ ...
- CSS——基本选择器
例子: <head> <meta charset="UTF-8"> <title>Title</title> <style&g ...
- 地图坐标转换 WGS84、BD09与GCJ02的相互转换
高德地图 WGS84转GCJ02 export function wgs84ToGcj02(lng, lat) { if (out_of_china(lng, lat)) { return [lng, ...
- IOS Video Tool Box后台解码失败
---恢复内容开始--- 1.VideoToolBox硬件解码H264流的过程中,如果App从前台按Home键进入后台,会立马产生一个-12903的错误 如果这个时候重置解码器,继续解码,会遇到 - ...
- OpenCV笔记(10) 相机模型与标定
万圣节快乐! 1. 相机模型 针孔相机模型:过空间某特定点的光线才能通过针孔(针孔光圈),这些光束被投影 到图像平面形成图像. 将图像平面在针孔前方,重新把针孔相机模型整理成另一种等价形式, 实际上, ...
- 小程序转发 搜索wxml
新闻转发 在小程序中要不通过菜单项来完成分享功能,只能通过表单组件中的按钮来完成. 它是通过按钮中的开放能力完成 按钮自定义处理 新闻搜索 搜索wxml 搜索业务的js
- Django路由层、视图层及模板层
Django路由层 URL配置(URLconf)就像Django所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表; 你就是以这种方式告诉Django,对于客户端发来的某个UR ...
- 解决 Error running ‘Application‘: Command line is too long.
一.项目场景:运行刚拉取下来的项目代码,出现下面问题描述的错误提示. 二.问题描述Error running 'Application': Command line is too long. Shor ...
- Invalid revision: 3.18.1-g262b901-dirty CMake Error: CMake was unable to find a build program corresponding to "Ninja".
一次在GitHub上找到的项目,本想编译运行下,但报如下的问题 错误一 Invalid revision: 3.18.1-g262b901-dirty 解决办法: 这是因为版本不对应,可在local. ...
- Javascript高级程序设计第七章 | ch7 | 阅读笔记
迭代器与生成器 在软件开发领域,"迭代"的意思是按照顺序反复多次执行一段程序 理解迭代 在JavaScript中,计数循环就是最简单的迭代 但是这种迭代有点问题: 1. 迭代之前需 ...