没有合适的资源?快使用搜索试试~ 我知道了~
你在Windows/MacOS的登录Linux的SSH终端上很容易输入中文并且获得中文输出,比如下面这样: 但是却几乎不可能将中文显示在Linux自身的 虚拟终端 上: [root@localhost font]# echo 皮鞋 >/dev/tty2 显示了两个问号,显然Linux内核并不能识别中文。 为什么说是Linux内核不能识别中文呢?这里需要理清一个关系: 你在远程SSH终端上的输入和显示输出的行为,都是SSH终端的宿主机完成的,比如Windows,MacOS,和Linux无关。 你在Linux本地虚拟终端,比如/dev/tty1上的输入和显示输出行为,则是由Linu
资源推荐
资源详情
资源评论
Linux内核如何输出中文字符的方法示例内核如何输出中文字符的方法示例
你在Windows/MacOS的登录Linux的SSH终端上很容易输入中文并且获得中文输出,比如下面这样:
但是却几乎不可能将中文显示在Linux自身的
虚拟终端虚拟终端
上:
[root@localhost font]# echo 皮鞋 >/dev/tty2
显示了两个问号,显然Linux内核并不能识别中文。
为什么说是Linux内核不能识别中文呢?这里需要理清一个关系:
你在远程你在远程
SSH
终端上的输入和显示输出的行为,都是终端上的输入和显示输出的行为,都是
SSH
终端的宿主机完成的,比如终端的宿主机完成的,比如
Windows
,,
MacOS
,和,和
Linux
无关。无关。
你在你在
Linux
本地虚拟终端,比如本地虚拟终端,比如
/dev/tty1
上的输入和显示输出行为,则是由上的输入和显示输出行为,则是由
Linux
内核自己处理的。内核自己处理的。
比如,我在MacOS用iTerm SSH连接到了一个远程CentOS Linux,iTerm上的所有的键盘输入,显示器输出行为都是iTerm的这台MacOS宿主机完成的。
相反,如果你直接在这台CentOS Linux的虚拟终端上输入并且企图获得输出,那么这个输入输出则必须由Linux内核自身来处理。
基本上就这些。至于说为什么Linux内核不支持中文,那要了解Linux内核处理虚拟终端输入输出时是如何对待unicode的逻辑,这要涉及一大堆的理论知识,非常烦人。
反正我这里就是无法输出中文,我也不是做这个的,显然这不是一个必然要完成的工作任务,所以,我只是玩玩。
本文的目标就是要让Linux的虚拟终端可以输出中文。
仅仅是输出中文,哪怕是一个中文汉字也好。具体来讲,就是
当我在键盘敲入当我在键盘敲入
’A’
字符时,显示器回显出来的是一个汉字。字符时,显示器回显出来的是一个汉字。
所以说,本文并不打算
让让
Linux
内核大规模完备地支持中文内核大规模完备地支持中文
,这种事已经有很多人和社区做了,但是可玩性并不高,毕竟这种事是可以当私活儿赚钱的,只要是赚钱的活儿,可玩性就不高,因为要
快嘛。
不需要懂冗长枯燥的unicode编码,不需要懂枯燥的font字体格式,看看怎么玩。
先展示效果吧,下面是一个8×168 imes 168×16的点阵例子:
不是很好看,于是就做了下面一个28×1628 imes 1628×16的点阵:
下面说一下这是如何实现的。
从你敲键盘的某个按键开始,到某个字符最终显示在虚拟终端的显示器上,这期间其实有两个映射:
键盘和字符集的映射键盘和字符集的映射
将某个按键事件转换为某个字符集里的某个码,比如当按下’A’键时,将其映射到0x41。
资源评论
weixin_38605590
- 粉丝: 2
- 资源: 864
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功