InputOutput输入与输出 计算机中输入设备有键盘、鼠标、摄像头、扫描仪、光笔、手写输入板、游戏杆、语音输入装置等。 输入设备是向计算机输入数据和信息的设备,是计算机与用户或其他设备通信的桥梁,是用户和计算机系统之间进行信息交换的主要装置之一。 计算机中输出设备有显示器、影像输出系统、磁记录设备、打印机、语音输出系统、绘图仪等。 输入设备的任务是把数据、指令及某些标志信息等输送到计算机中去其实平时打交道最多的输入设备是键盘,输出设备为显示器 电脑是如何识别键盘按键的 键盘编码器(i8048),是键盘里的芯片,主要用来监控是否有键按下,弹起,然后向键盘控制器报告此键的相关信息。键盘编码器就像是键盘的嘴,让键盘能够说话,表达目前按键状态。NumLock键和CapsLock键的LED灯的开关也归它控制。 键盘上每个按钮对应一个码 键盘上每个键相对应的ASCII码即为键位码。 ASCII是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,并等同于国际标准ISOIEC646。ASCII第一次以规范标准的类型发表是在1967年,最后一次更新则是在1986年,到目前为止共定义了128个字符。 如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等;通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;ASCII值为8、9、10和13分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响〔1〕。32126(共95个)是字符(32是空格),其中4857为0到9十个阿拉伯数字。6590为26个大写英文字母,97122号为26个小写英文字母,其余为一些标点符号、运算符号等。数字65对应大写字母Aprint(chr(65))print() 键盘上每一个按键都对应一个数字,也有一个对应的符号来标识,当然有些符号是不可见的。如此上文中的大写字母A对应的数字是65如何读取键盘的输入按钮?在python中我们是通过input()函数input(Enteryourchoice:)执行这个input函数,计算机会一直等等用户的输入,直到用户按下回车键盘 print(chr(65))choiceinput(Enteryourchoice:)按下回车后表示用户结束其实回车键盘马是对应一个数字13回车键的ASCII码是13choice变量的值则是用户输入的内容 输出 照实的显示器其实 照实的电脑操作都是这样的黑乎乎的界面,字符界面。 输入函数print print(helloworld) input与print分别是输入与输出的函数,其实也是底层设备操作的一个抽象。 本质上也是通过操作系统windowmacos或linux这些来控制硬件。所以软件硬件是不分家的。Java语言也有如此,其实语言亦是哪些publicclassVarScope{publicstaticvoidmain(String〔〕args)throwsIOException{System。out。println(helloworld);intaSystem。in。read();todowaiting直到用户按下回车键盘}Readsthenextbyteofdatafromtheinputstream。Thevaluebyteisreturnedasanintintherange0to255。Ifnobyteisavailablebecausetheendofthestreamhasbeenreached,thevalue1isreturned。Thismethodblocksuntilinputdataisavailable,theendofthestreamisdetected,oranexceptionisthrown。Asubclassmustprovideanimplementationofthismethod。Returns:thenextbyteofdata,or1iftheendofthestreamisreached。Throws:IOExceptionifanIOerroroccurspublicabstractintread()throwsIOE 从输入流中读取下一个字节的数据。字节值作为0到255范围内的整数返回。如果由于到达流的末尾而没有字节可用,则返回值1。此方法会阻塞,直到输入数据可用、检测到流的结尾或引发异常。 通过Java平台的这个方法可以非常明确的知道System。in。read()读取输入内容是一个数字。 显示器如何显示字符 就像一个二进制数既可以是一个普通的数,也可以是一条处理器指令一样,每个字符也可以和一个数字进行对应。 比如,数字0x4C就代表字符L,这个数被称为是字符L的ASCII编码。ASCII编码其实就是一种对应规则,就像一元一次函数一样,每个X对应一个一个y。(当然肯定也有别的编码规则。) 由于历史的原因,所有在个人计算机上使用的显卡,在加电自检中BIOS会执行一个硬件的初始化把自己初始化到8025的文本模式。在这种模式下,屏幕上可以显示25行,每行80个字符,每屏总共2000个字符。然后通过字符发生器读取显存中保存的内容然后将其显示到显示器上。 黑白色: 只需要把不亮当成比特0,亮看成比特1。然后将显存里的每个比特和显示器上的每个像素对应起来,就能实现这个目标。 像素: 像素是显示的最小单元,只要通过像素的多种组合就可以显示我们想要的内容,比如说显示一个QQ头像,和文字内容,但是像素的最基本就是颜色,通过对颜色的处理来控制显示的内容。因为颜色的不同也有不同的显示和存储方式计算机显示图像和文字的基本原理: 显卡控制显示器的最小单位是像素,一个像素对应着屏幕上的一个点,通过控制每个像素的明暗和颜色,我们就能形成文字和图像: 显卡 通常,显卡是独立生产、销售的部件,需要插在主板上才能工作,这种被称为独立显卡也就是常说的独显。每台计算机都有主板,它就在机箱内部,有时间你可以打开机箱来观察一下。当然,显卡未必一定是独立的插卡。为了节省使用者的成本,有的显卡会直接做在主板上,这样的显卡也有个名字,叫集成显卡也就是常说的集显。显存 就和CPU一样,需要从内存里面读取东西再来控制。而显卡也一样,需要从存储器里读取要显示的内容,然后传送给显示器。由以为这个存储器是给显卡用的,所有又叫显示存储器(VideoRAM:VRAM),简称显存。要显示的内容都预先先写到显存里面。