字符显示器 回忆上次内容
  • 简体和繁体的汉字
  • 字符数量都超级大
  • 感谢王选和陈堃銶等前辈发明了激光照排技术
  • 中文排版从此使用上了gb2312编码
 

 
添加图片注释,不超过 140 字(可选)
 
  • 纸张之外
  • 显示器是更先进的输出设备
 
  • 计算机是如何在显示器上显示的呢?
点阵字库
  • 计算机显示的原理是
  • 通过具体的像素点
  • 亮或者暗来决定
 
  • 如果墙一面显示器
  • 那上面可以显示两个数字字符
  • 每个字符使用 3 * 5 像素点阵
 

 
添加图片注释,不超过 140 字(可选)
 
  • 这些像素点被编码到字形码当中
  • 需要某个字的时候就显示这个字的字形码
 

 
添加图片注释,不超过 140 字(可选)
英文字形码
  • 英文字形相对简单
  • 最低使用 5 * 7 点阵就可以显示一个字符
 

 
添加图片注释,不超过 140 字(可选)
 
  • LCD1602
  • 每行 16 个字符
  • 总共 2 行
 

 
添加图片注释,不超过 140 字(可选)
 
  • 字形库并不是很大
  • 计算机显示器呢?
显示系统
  • 1981年的 IBM兼容机
  • 80 * 25 个字符
  • 每个字符 9 * 14 个像素
  • 经历了 5*7 -> 7*11
 
 

 
添加图片注释,不超过 140 字(可选)
 
  • 配一块专门的显卡
  • IBM Monochrome Display Adapter
  • 可以输出到屏幕
  • 也可以输出到打印机
 

 
添加图片注释,不超过 140 字(可选)
字型

 
添加图片注释,不超过 140 字(可选)
 
  • 仔细看

 
添加图片注释,不超过 140 字(可选)
 
  • 右侧都会空两列

 
添加图片注释,不超过 140 字(可选)
 
  • 这些字形存储在ROM中
显示适配器
  • ROM 被放置在显卡上

 
添加图片注释,不超过 140 字(可选)
 
  • 一般运行在文字模式
  • 按照字符进行渲染
  • 字符编码集 是 IBM的 ascii-exterded
  • 字型来自ROM
 

 
添加图片注释,不超过 140 字(可选)
 
  • 字形中有一些制表符
  • 可以显示表格效果
 
  • 虽然如此原始
  • 但也能玩游戏
 
文字冒险游戏
  • 文字冒险类游戏
  • text adventures
 

 
添加图片注释,不超过 140 字(可选)
 
  • 键盘输入指令
  • 走遍地图
 

 
添加图片注释,不超过 140 字(可选)
各种字符
  • 各种字符都试图在5*7的点阵范围
  • 内显示字体
 
  • 字体风格为

 
添加图片注释,不超过 140 字(可选)
 
  • 西里尔字符和日本假名
  • 如何拥有字型呢?
 
显示字体
  • 拉丁、西里尔甚至日文片假名都实现了这一目标
  • 但是中文不可能
  • 因为字型实在太复杂
  • 只能勉强实现日、白、田等简单文字
 
 

 
添加图片注释,不超过 140 字(可选)
 
  • 也可以有文字游戏

 
添加图片注释,不超过 140 字(可选)
 
  • 这颜色
  • 是支持VT-100控制序列了吗?
 
控制序列
  • 最开始 只支持
  • 下划线
  • 加亮
  • 翻转
  • 隐藏
 

 
添加图片注释,不超过 140 字(可选)
 
  • 可以 魔改 控制亮度吗?
魔改版
  • 通过6/7两个管脚控制亮度

 
添加图片注释,不超过 140 字(可选)
 
  • 总共四档亮度

 
添加图片注释,不超过 140 字(可选)
 
  • 3/4/5管脚一直保留
  • 后来被改成RGB
 

 
添加图片注释,不超过 140 字(可选)
 
  • 可以显示图形吗?
字符模式显示图形
  • 理论分辨率 720×350
  • 但也仅仅只是理论
  • 没能对像素地址编码
  • 只能按照坑位填写字形
 

 
添加图片注释,不超过 140 字(可选)
 
  • 描述图像
  • 靠的还是字符方式
  • 只能靠 asciiart
 
  • 这种局面下
  • 中文如何进入计算机世界呢?
 
总结
  • IBM 将 ASCII 扩展之后
  • 规定了 一个字节的字符集
  • 并制作了 相应的字形库
 

 
添加图片注释,不超过 140 字(可选)
 
  • 这种显示模式和字符大小之下
  • 中文该如何进入计算机世界呢?
 


[oeasy]python0124_Code_page_437_IBM_5150_点阵式字形码_显示器效果的更多相关文章

  1. GB2312编码(为什么要加2020H、8080H,外码→内码→交换码→字形码)

    为什么要加上2020H和8080H? 区位码.内码.国标码怎么转换非常简单,但是令人迷惑的是为什么要那么转换?这种转换不可能平白无故地那样转换! 我搜索很多资料,找到最好的解释,总结如下: 首先,注意 ...

  2. Asp.Net Web Api 2 实现多文件打包并下载文件示例源码_转

    一篇关于Asp.Net Web Api下载文件的文章,之前我也写过类似的文章,请见:<ASP.NET(C#) Web Api通过文件流下载文件到本地实例>本文以这篇文章的基础,提供了Byt ...

  3. OpenCV2.源码_编译&调试

    1.VS 调试第三方库源码 - writeeee的专栏 - CSDN博客.html(https://blog.csdn.net/writeeee/article/details/82692770) Z ...

  4. pytest框架插件源码_关于钩子方法调用部分的简单理解(pytest_runtest_makereport)

    前言: 因为想不明白写的pytest_runtest_makereport里的yield是怎么把结果传出来的?pytest是怎么调用的我们自己写的pytest_runtest_makereport方法 ...

  5. spring源码_下载以及转入eclipse (2016-11-08)

    本例spring源码版本是4.3.0的, 所以jdk需要准备1.8的(不同版本源码要求的jdk不一样) 1.8版本myeclipse10无编译环境,只有运行环境,出现点问题,下载最新版本的Eclips ...

  6. Android 8.1 源码_启动篇(二) -- 深入研究 zygote(转 Android 9.0 分析)

    前言 在Android中,zygote是整个系统创建新进程的核心进程.zygote进程在内部会先启动Dalvik虚拟机,继而加载一些必要的系统资源和系统类,最后进入一种监听状态.在之后的运作中,当其他 ...

  7. Android 8.1 源码_启动篇(一) -- 深入研究 init(转 Android 9.0 分析)

    前言 init进程,它是一个由内核启动的用户级进程,当Linux内核启动之后,运行的第一个进程是init,这个进程是一个守护进程,确切的说,它是Linux系统中用户控件的第一个进程,所以它的进程号是1 ...

  8. Spring中的IOC_源码_随笔

    Spring ioc 叫控制反转,也就是把创建Bean的动作交给Spring去完成. spring ioc  流程大致为 定位-> 加载->注册 先说几个比较有意思的点 1.Spring中 ...

  9. 9. http协议_响应状态码_页面渲染流程_路由_中间件

    1. http协议 超文本传输协议 协议详细规定了 浏览器 和 万维网服务器 之间互相通信的规则 客户端与服务端通信时传输的内容我们称之为报文(请求报文.响应报文) 常见的发送 get 请求方式 在浏 ...

  10. CleanMyMac 4破解版-最强中文版_破解版_激活码_注册码

    最新版CleanMyMac 4中文版本已经发布了,也受到了广大用户的喜爱.众所周知, 注册码是开启软件的钥匙,在获取软件安装包之后需要有效的注册码才能激活软件.但是关于CleanMyMac 4注册码的 ...

随机推荐

  1. 基于webapi的websocket聊天室(一)

    上一次我已经讲了在webapi主机上面加入websocket中间件. 这次就更进一步,搭建一个websocket局域网聊天室. 传送门-->webapi添加添加websocket中间件 下一篇 ...

  2. Spring 对 Junit4,Junit5 的支持上的运用

    1. Spring 对 Junit4,Junit5 的支持上的运用 @ 目录 1. Spring 对 Junit4,Junit5 的支持上的运用 每博一文案 2. Spring对Junit4 的支持 ...

  3. WPF在ListView中绑定Command命令的写法

    假定:ViewModel中有一个数据源叫Persons,有一个命令叫DoCommand,通过System.Windows.Interactivity触发器绑定鼠标MouseUp事件,当UI端绑定了Da ...

  4. Base64编码解码 支持解码为 16进制

    https://base64.xhlylx.com/

  5. 如何查看Linux的系统信息?

    在Linux服务器上,可以通过几个简单的命令来查看操作系统的详细信息. 1.使用uname命令获取操作系统基本信息,包括内核名称.网络节点名称.内核版本.架构等. uname -a 2.查看`/etc ...

  6. k8s 安装ingress nginx controller 并部署.net core ingress服务

    k8s 安装ingress nginx controller 并部署.net core ingress服务 本地k8s集群概览 192.168.28.132 k8smaster 192.168.28. ...

  7. 高性能版本的零内存分配LikeString函数(ZeroMemAllocLikeOperator)

    继上一篇文章在.NET Core,除了VB的LikeString,还有其它方法吗?(四种LikeString实现分享)分享了四种实现方式,笔者对这四种实现方式,不管是执行性能还是内存分配性能上,都不太 ...

  8. Java原子操作保证方案

    引言 原子操作是指不会被线程调度机制打断的操作:这种操作一旦开始,就一直运行到结束,中间不会有任何 context switch (切换到另一个线程).通常所说的原子操作包括对非long和double ...

  9. BC6-牛牛的第二个整数

    题目描述 牛牛从键盘上输入三个整数,并尝试在屏幕上显示第二个整数. 输入描述 一行输入 3 个整数,用空格隔开. 输出描述 请输出第二个整数的值. 示例 1 输入:1 2 3 输出:2 解题思路 方案 ...

  10. 高德地图查询结果返回INVALID_USER_IP错误解决

    高德地图查询结果返回INVALID_USER_IP错误解决 方法是添加白名单.IP白名单出错,发送请求的服务器IP不在IP白名单内开发者在LBS官网控制台设置的IP白名单不正确.白名单中未添加对应服务 ...