文本是如何在计算机上生成的?

How is Text produced on the Computer?

假设我想在我的显示器上显示文本 "Hello World",计算机如何以图形方式表示二进制级别的文本?

这是一个主观问题。它因硬件而异,可能在应用程序或 OS.

中有所不同

一般而言,您使用的硬件系统将具有定义的文本编码,可将字符图像(或类似的东西,像素 patterns/screen 颜色)映射到给定的二进制值。这些图像被加载到屏幕的内存缓冲区中,在下次刷新时显示在屏幕上。

所以,从最基本的意义上讲,假设您有一个带 LCD 板的嵌入式系统。在这种情况下,它不会是图像,而是被映射的像素模式。您可能拥有支持 ASCII 的 8 位编码。您可以将二进制值(代表您要显示的文本)加载到 LCD 的 memory/memory 缓冲区中。加载 memory/buffer 后,需要向电路板发出命令以进行刷新。显示会根据您加载到内存中的内容而改变。

如果您的工作级别非常低,那么您必须在驱动程序级别定义该关系。可能必须研究如何根据二进制值通过内存缓冲区操作像素。

说出您用来问这个问题的计算机会变得更加复杂。

当您在屏幕上输入内容时,基本上会发生以下情况:

1:键盘使用您按下的键的二进制表示形式向处理器发送电气中断(参见 ASCII

2:处理器查找内存位置(由操作系统设置),其中包含处理中断的指令

3:然后操作系统解释中断(比方说,Linux)

4:如果有一个进程在等待输入,操作系统会将关键代码传递给该进程(比方说,Bash)

5:Bash收到代码,向操作系统发送指令,在屏幕设备中显示某些字符

6:操作系统收到来自Bash的指令,发送给屏幕设备

7:屏幕设备接收指令,将位转换为像素并显示在您的屏幕上

这一切都是抽象的。最后,一切都是二进制的,如果你想到达那里,你首先应该了解抽象(汇编、C、操作系统、设备、内存、处理器等)