V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Chigogo
V2EX  ›  问与答

字符编码与字体的关系是什么?

  •  
  •   Chigogo · 2015-04-27 21:54:28 +08:00 · 2565 次点击
    这是一个创建于 3505 天前的主题,其中的信息可能已经有所发展或是发生改变。
    不同的字符集,比如GB 2312、Unicode对中文字符都有各自的编码,那么同一个汉字在计算机里面存储的数字序列就是不一样的。

    问题来了,同一个汉字,对应的不同的数字序列,而字体为什么能正确处理呢?(感觉上字体能对同一个汉字作出显示)。
    比如“宋体”为什么能处理来自GB 2312和Unicode 的、不同编码的、逻辑上却是同一个的字的字呢?
    7 条回复    2015-04-28 13:24:16 +08:00
    coolzjy
        1
    coolzjy  
       2015-04-27 22:12:29 +08:00
    一个人名字和穿的衣服的关系是什么 - -
    old9
        2
    old9  
       2015-04-27 22:24:19 +08:00 via Android
    weyou
        3
    weyou  
       2015-04-28 00:18:13 +08:00
    字符编码 -》 字形索引Glyph ID -》 字形(字体)-》渲染字形
    caoyue
        4
    caoyue  
       2015-04-28 11:07:49 +08:00
    楼主对有些概念可能有点模糊
    1. 所谓的 Unicode 作为一个标准是没法拿来直接用的,我们使用的是它的编码方案比如 UTF-8,UTF-16,以及 GB-2312
    2. 上面那个知乎的回答说得很清楚了,字体里面存储了 字符和 Unicode 的对应关系
    Chigogo
        5
    Chigogo  
    OP
       2015-04-28 12:35:11 +08:00 via iPhone
    @caoyue GB2312是对Unicode的实现?
    jokester
        6
    jokester  
       2015-04-28 12:41:56 +08:00
    codepoint -- model
    font & rendering -- view
    caoyue
        7
    caoyue  
       2015-04-28 13:24:16 +08:00
    @Chigogo
    这样说不正确,抱歉没太经过脑子=-=
    GB2312 是不能直接按编码方式转 Unicode 的,需要一个转换表
    GB2312 这种应该是属于遗留编码,不属于 Unicode
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1174 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 23:59 · PVG 07:59 · LAX 15:59 · JFK 18:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.