百科问答小站 logo
百科问答小站 font logo



信息技术中文字到底是什么? 第1页

  

user avatar   ling-jian-94 网友的相关建议: 
      

这个就体现出程序员和普通人对计算机认知的差异了,对程序员来说会觉得字符背后的那个编码才是字符,比如'a'在ASCII里面就是97,'中国'在UTF-8下面就是'xe4xb8xadxe5x9bxbd',而一般人会觉得画在屏幕上那个画才是字符。

在计算机内部处理字符和字符串的过程中,文字几乎始终都是以上面所述的编码的形式存在的,不过编码有多种不同标准,比如GBK和Unicode,处理和解释文字的时候需要知道相应的编码方式,搞混淆了就会出现乱码。在显示的时候,这些编码会被重新转换成对应的文字图形显示出来。早期的时候,当时的显示硬件甚至只支持显示字符,叫做文本模式,程序直接在显存里写入字符编码,显示设备自动将它翻译成对应的字符显示出来,早期DOS一类的命令行操作系统通常都是这样工作的,好处在于非常节约内存和显存。显示字符最初使用的是点阵模式,也就是一个字符变成一个固定大小的像素点的阵列,告诉计算机哪里显示黑哪里显示白,这样就能显示出字来,好处在于实现非常简单对硬件友好,缺点在于不能适配不同大小的文字,但本身在文本模式下,一屏幕显示的字符数量相对来说比较固定,也没法支持文字大小不同。

在Windows这样的图形模式下,显示硬件只处理像素数据,将文字转换成图形是软件完成的,一种仍然是点阵字体的方法,但如果显示很大的字,就会有锯齿出现;另一种方法使用矢量图形显示文字,也就是将字符轮廓用类似于数学中向量的方式表示出来,这样不管字体放多大显示质量都有保证,不会变成锯齿,因为Windows上常用TrueType所以有时候被称为TrueType字体。在现在主流的操作系统中,字体以文件的方式存储在磁盘上,操作系统会根据需要取字体中需要的图形出来绘制到屏幕上,就出现了我们看到的字符图形。

在现代,将文本编码展示为文本图形是极其复杂的过程,远比计算机刚发明时候仅支持ASCII的时代要复杂得多,因为人类有非常丰富的语言语种,同时对文字的排版有非常复杂的要求。比如,某些文字书写时是从右到左书写的,它在渲染到屏幕的时候,字符图形需要从右到左排列;但它还可能被嵌入到一个从左到右的其他语言当中使用(比如我们在中文中插入一个Windows这样的词一样,我们也可以在中文中插入一个从右到左语言的词),同样也可能有从左到右语言插入到从右到左语言之中。另外,因为计算机的字节只有8位,在不同编码方案中并非每个字符的长度都一样,像UTF-8每个字符的字节数就不同,但即便如此,拆分出的每个字符也未必在屏幕上就显示成一个图形——有一些前后的多个字符会组合到一起显示,比如说注音符号、泰文等,还有些时候不同的编码方式会对应到相同的显示符号上。即使是空格的处理,也会分为可以换行的空格、不可以换行的空格、参与两端对齐的空格、不参与两端对齐的空格等等。有些字体中字符的显示会根据前后字符的不同而不同(例如显示成连笔)。再加上文本排版时对于换行和对齐之类的要求,实际上对文本排版是一个极其复杂的问题,需要专门的排版引擎进行,字体的设计也远比前面讨论的复杂。为了全世界不同的人都能友好地使用计算机,专家和软件工程师们可以说没少花心思了。




  

相关话题

  为什么有人把新买的 Win10 电脑重装为各种盗版 Win7 ? 
  Mac 上有什么类似豌豆荚的 Android 管理软件吗? 
  「智慧城市」这一概念科学吗?还是炒作? 
  在移动终端中,为什么华为的海思芯片只有华为自己在用,如果性能好,为什么其他厂商不采用? 
  做到(www.zuodao.com)究竟是一个什么类型的网站? 
  为何系统会成为手机厂商必争的长赛道? 
  用一个安卓手机五年是什么感觉?(严禁刷赞互赞排序带货,注意是纯分享类型题目)? 
  5G网络普及以后,城市里的有线宽带会不会被取代? 
  如何让Windows 10系统桌面变得更好看? 
  为啥鸿蒙系统说能更好的实现万物互联?安卓不是能一样控制电器? 

前一个讨论
如果硬盘速度足够快,内存这东西是不是就可以取消了?
下一个讨论
为什么数学每次考完自己在想就能把不会的想出来?





© 2024-11-21 - tinynew.org. All Rights Reserved.
© 2024-11-21 - tinynew.org. 保留所有权利