3809游略网 > 科技 >shortcutf3开机

shortcutf3开机

第一部分是字符编码理论,第二部分是UEFI实践。

字符编码理论

UEFI之初就充分考虑了多语言的管理、编码和显示。UEFI中的字符串统一采用Unicode UCS-2编码。Unicode是一种字符集,它为每个字符分配一个唯一的编号。

用于在计算机中存储和处理文本。UCS-2是Unicode编码,每个字符用16位表示,所以可以表示2 ^ 16=65536个不同的字符。UCS-2的缺点是它不能表示Unicode的所有字符。

比如不能表现汉字。为了解决这个问题,Unicode开发了UTF-8、UTF-16和UTF-32编码格式,其中UTF-16使用16位来表示大多数字符,但需要使用32位来表示一些特殊字符。

汉字编码在中国有独特的编码标准。最早的编码标准是GB2312,是ASCII的中文扩展,但是中国汉字太多,发现很多人的名字在这里打不出来。

所以我们还得继续找出GB2312中不用的码点,老老实实粗暴地使用。后来不够了,就不再要求低位字节必须是127之后的内码了。只要第一个字节大于127,就固定表示这是一个汉字的开头。

不管它后面是否跟有扩展字符集的内容。结果扩展后的编码方案被称为GBK标准。GBK囊括了GB2312的全部内容,新增汉字(包括繁体字)和符号近2万个。后来,

GBK扩展为GB18030,可以表示中国大陆和台湾省的所有汉字。

UEFI实践

为了使UEFI BIOS支持显示汉字,需要在UEFI BIOS中添加中文字体,并将汉字代码转换成UEFI BIOS支持的Unicode代码。

UEFI BIOS的字符编码是Unicode UCS-2编码,所以可以用Unicode编码的汉字来显示汉字。

UEFI BIOS中显示字符的原理是:使用GOP或UGA协议,可以用它来显示一个位图。同样,如果你有点阵字体,你也可以用它来显示字符。UEFI已经想出了如何为我们显示字符。

它定义了简单字体格式。SimpleFont是一种点阵字体,有两种格式,一种是窄字体,一种是宽字体。窄字体是819点阵字体,宽字体是1619点阵字体,分为两半。

前半部分代表左半部分,后半部分代表右半部分。点阵字体中的每一位代表一个像素,颜色为1,空白为0。我们可以将字体点阵以HiiAddPackages的形式注册到HiiI的数据仓库中。

在EDKII的GraphicConsoleDxe驱动中有现成的例子。

shortcutf3开机

本文来自网络,不代表本站立场,转载请注明出处:https:

shortcutf3开机

3809游略网后续将为您提供丰富、全面的关于shortcutf3开机内容,让您第一时间了解到关于shortcutf3开机的热门信息。