编码和字体有什么不同

时间:2018-01-19 06:36:33

标签: encoding language-agnostic

编码是maping,它为字符或符号赋予唯一值。

如果编码中没有字符,无论您使用什么字体,它都不会显示正确的字体 像Lucida控制台,arial或终端

但问题是终端字体显示线条绘制字符但其他字体未显示线条绘制字符

我的问题是为什么终端的行为与其他字体不同

Plz注意 Windows 7的 地区英语

1 个答案:

答案 0 :(得分:0)

对于不耐烦的人,相关链接位于此答案的底部。

  

编码是maping,它为字符或符号赋予唯一值。

不,这是字符集的细节,它将某些字符映射到代码点(使用Unicode术语)。让我们暂时忽略上述内容。

  

如果编码中没有字符,无论您使用什么字体,它都不会显示正确的字体,如Lucida控制台,arial或终端

字体格式将Unicode代码点映射到字形。并非所有代码点都可以映射为特定字体 - 有人必须创建所有这些符号。再次,让我们忽略这一点。

并非所有二进制编码都可以映射到某个字符集中的代码点;这可能是你的意思。

  

但问题是终端字体显示线条绘制字符但其他字体未显示线条绘制字符

您的终端似乎使用不同的字符集,可能是" OEM"或者" IBM PC"字符集而不是Unicode兼容字符集或Windows-1252 / ISO 8859-1 / Latin。

如果是后者而不是你运气不好,除非你可以将输出终端设置为另一个字符集,因为Windows-1252根本不支持框图字符。

解决方案:

  • 如果可能,请尝试将输出设置为OEM / IBM PC字符集。

  • 如果是Unicode,您可以尝试将输出转换为Unicode:使用OEM字符集读取(解码),然后使用box drawing subset对其进行重新编码。