如何在Unicode中实现代码点到最终字符的转换?

如何在Unicode中实现代码点到最终字符的转换?,unicode,encoding,character-encoding,Unicode,Encoding,Character Encoding,BMP中包含的字符由4位数字指定 BMP之外的字符包含5或6位数字 但我的疑问是: 如何从代码点的值中提取最终字符? 是否在每台计算机中恢复每个角色的图片,并且在显示时仅显示匹配的图片 或者最后一个标志符号是代码点本身的计算结果?每个Unicode字符都有一个代码。显示该字符的软件会获取该字符代码的标志符号-通常来自安装在主机上的字体。然后,它使用获得的图示符来显示字符 如果它找不到该字符的标志符号(许多拉丁字符的字体完全省略了东亚语言字符的标志符号),它就不能正式显示它。然后,它将指示错误或使

BMP中包含的字符由4位数字指定

BMP之外的字符包含5或6位数字

但我的疑问是:

如何从代码点的值中提取最终字符? 是否在每台计算机中恢复每个角色的图片,并且在显示时仅显示匹配的图片


或者最后一个标志符号是代码点本身的计算结果?

每个Unicode字符都有一个代码。显示该字符的软件会获取该字符代码的标志符号-通常来自安装在主机上的字体。然后,它使用获得的图示符来显示字符


如果它找不到该字符的标志符号(许多拉丁字符的字体完全省略了东亚语言字符的标志符号),它就不能正式显示它。然后,它将指示错误或使用补充图示符,这意味着无法显示实际图示符(可以是问号、正方形或其他形式).

请更具体一点:您的意思是它使用预还原的图像来显示字符还是根据代码计算图像?在组合字符(如重音符号等)时增加了一些有趣的复杂性…是的,该字体以矢量或光栅形式存储字符的外观。@Shore:字体包含每个字符要绘制的形状的定义;Unicode字体(通常不完整)包含如何绘制Unicode字符子集的定义。显示软件知道如何获取该定义,并以正确的比例(大小)、颜色等在屏幕上显示结果。不,每个字体可以包含不同的描述,也可以不包含任何描述。通常,如果字体包含字形,则字形看起来与其他字体中的字形相当相似。