Chigogo
V2EX  ›  问与答

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

  •  
  •   Chigogo · Apr 27, 2015 · 3088 views
    This topic created in 4123 days ago, the information mentioned may be changed or developed.
    不同的字符集,比如GB 2312、Unicode对中文字符都有各自的编码,那么同一个汉字在计算机里面存储的数字序列就是不一样的。

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