之所以会出现乱码,这是因为DOS系统本身,并不支持汉字显示的缘故。
解决这个问题的途径有很多。
比如打造一个CCDOS、UCDOS之类的汉字操作系统……
这样可以一劳永逸,但工程量十分浩大。
所以江寒琢磨了一下,决定采用一种临时性的解决方案。
他先退出了虚拟空间,上网找到了一份IMG格式的UCDOS系统软盘映像。
下载、解压之后,将HZK16和HZK16F提取了出来,并传到了虚拟空间里的286电脑中。
这两个文件是UCDOS的字库文件,前者是简体中文字库,后者则支持繁体中文。
随后,江寒再次进入虚拟空间,在自己制作的字典程序里添加了一小段代码,使其拥有了汉字显示功能。
基本原理是根据汉字的内码,在字库文件中找到对应的点阵信息,然后一个像素、一个像素地画到屏幕上。
然而,在286这么落后的电脑上,如果不使用一点技巧,直接画点的话,每秒钟大概只能显示5~6个汉字。
这样的速度自然远不能让人满意。
为了提高显示速度,远古的编程高手们,开发出了一种叫做“直接写屏”的技术,将像素信息直接写到“显示缓冲区”中去。
“显示缓冲区”是一块特别的内存区域,写入其中的数据,会马上显示在屏幕上。
使用了“直接写屏”技术的软件,理论上来说,显示速度可以接近机能的上限。
这种技术也有缺点,那就是各种显示卡、显示模式,所使用的“显示缓冲区”,位置并不一样。
例如CGA显卡的“显示缓冲区”,起始地址就是B800h……
这样一来,就对程序的兼容性提出了挑战。
Loading...
未加载完,尝试【刷新网页】or【关闭小说模式】or【关闭广告屏蔽】。
使用【Firefox浏览器】or【Chrome谷歌浏览器】打开并收藏!
移动流量偶尔打不开,可以切换电信、联通网络。
收藏网址:www.sisiread.com
(>人<;)