• 请不要在回答技术问题时复制粘贴 AI 生成的内容
iugo
V2EX  ›  程序员

你知道 "你" 不是 "你" 吗?

  •  8
     
  •   iugo ·
    iugo · Jan 20, 2017 · 11543 views
    This topic created in 3408 days ago, the information mentioned may be changed or developed.
    "你" 的 Unicode code point 是十进制的 194564.
    "你" 的 Unicode code point 是十进制的 20320.

    前者属于 cjk compatibility ideograph.
    后者属于 cjk unified ideograph.

    我们一般使用后者, 但前者也存在, (根据维基百科)前者存在的意义在于 "字源分离原则".

    P.S. 我对编码的认识还真是浅. 有待学习和提高.
    Supplement 1  ·  Jan 20, 2017
    不同的字体有不同的渲染逻辑, 有些字体比如 "Hiragino Sans GB" (Mac OS X 10.11 自带) 会将两种编码渲染为同一个字体样式, 所以看起来两个字是一样的.

    分享一个文档链接: CJK Compatibility Ideographs Supplement (The Unicode Standard, Version 9.0) http://unicode.org/charts/PDF/U2F800.pdf
    83 replies    2022-07-18 23:17:31 +08:00
    jtam
        1
    jtam  
       Jan 20, 2017
    owtf........
    qq316107934
        2
    qq316107934  
       Jan 20, 2017 via Android   ❤️ 15
    靠这个是不是可以注册一批超高仿 ID 呢?
    SuperMild
        3
    SuperMild  
       Jan 20, 2017
    还真是

    "你".codePointAt(0)
    194564
    "你".codePointAt(0)
    20320
    ob
        4
    ob  
       Jan 20, 2017 via Android
    @qq316107934 注册起来,哈哈
    allenhu
        5
    allenhu  
       Jan 20, 2017 via Android
    关键看字体
    Kei
        6
    Kei  
       Jan 20, 2017   ❤️ 3
    "你" == "你"
    false

    感觉三观被震撼了
    zwzmzd
        7
    zwzmzd  
       Jan 20, 2017 via Android
    发现有的手机这两个字显示有区别,有的没区别
    Umix
        8
    Umix  
       Jan 20, 2017 via Android
    但是在日亚可以用中文输入法输入日本汉字,这就厉害了
    t123yh
        9
    t123yh  
       Jan 20, 2017 via Android   ❤️ 5
    Android 7 表示有区别,一个顶上是一横,一个是横撇
    viator42
        10
    viator42  
       Jan 20, 2017 via Android   ❤️ 17
    看标题还以为要讨论什么哲学问题
    zhujinliang
        11
    zhujinliang  
       Jan 20, 2017   ❤️ 2
    我以为楼主要说 “死的那是你,你是你哥哥“
    hinate
        12
    hinate  
       Jan 20, 2017 via iPhone
    这不是两个字吗?
    FrankFang128
        13
    FrankFang128  
       Jan 20, 2017
    日文字和中文字吧?
    LCS
        14
    LCS  
       Jan 20, 2017   ❤️ 17
    cjyang1128
        15
    cjyang1128  
       Jan 20, 2017
    第一个你要怎么打出来?
    giuem
        16
    giuem  
       Jan 20, 2017 via iPhone   ❤️ 1
    手机上看还是有区别的

    https://ooo.0o0.ooo/2017/01/20/588198e4cb233.png
    jimmy2010
        17
    jimmy2010  
       Jan 20, 2017
    你 百度为您找到相关结果约 57 个
    你 百度为您找到相关结果约 100,000,000 个
    easing
        18
    easing  
       Jan 20, 2017
    手机上能看到差别,电脑上看了半天不知道 LZ 在说什么。。
    wly19960911
        19
    wly19960911  
       Jan 20, 2017
    这两个字可以拿去搜索下,反馈的结果是前者都是以没有撇的(在字典网站上的结果),但是都没有解释,后者就是正常的你(都看着完形崩坏了
    Kokororin
        20
    Kokororin  
       Jan 20, 2017
    Yvette
        21
    Yvette  
       Jan 20, 2017
    我不认识「你」怎么写了
    Lelouchcr
        22
    Lelouchcr  
       Jan 20, 2017   ❤️ 5
    ```
    列 列
    女 女
    老 老
    里 里
    ```

    我也踩过坑, unicode 的区块是 84308130 - 8430A330
    imn1
        23
    imn1  
       Jan 20, 2017
    怪不得那么多部门都要你自证身份, 2333



    你 你
    侮 侮
    內 内
    抱 抱
    ……
    这些字多的是,在 Unicode 的命名是
    CJK Compatibility Ideographs Supplement
    Range: 2F800 – 2FA1F
    The Unicode Standard 3.1

    这个看电脑字体用的是什么,像#12 用的字体可能就能看清两个字写法是不同的
    loading
        24
    loading  
       Jan 20, 2017 via Android
    昨天刚看了一次 utf8,cjk 字体有一些是这样的。
    chocotan
        25
    chocotan  
       Jan 20, 2017
    完蛋了,我也不认识你怎么写了。。
    irainsoft
        26
    irainsoft  
       Jan 20, 2017
    Windows+Chrome 感觉标题里两个字略有不同一直盯着看 现在已经不认识这个字了
    xrxsh
        27
    xrxsh  
       Jan 20, 2017
    @chocotan 看了一会已经完全不知道“你”是什么字了
    arischow
        28
    arischow  
       Jan 20, 2017
    21grams
        29
    21grams  
       Jan 20, 2017
    这有什么稀奇, unicode 里一样的字多如牛毛。
    lybtongji
        30
    lybtongji  
       Jan 20, 2017
    看来有个好字体很重要
    codehz
        31
    codehz  
       Jan 20, 2017
    正确的渲染应该会映射到同一个字形上去的。。。上面字体显示不一致的估计是 fallback 的问题,直接按照区间进行划分了
    CaoZ
        32
    CaoZ  
       Jan 20, 2017
    貌似发现一个 bug, Firefox on Mac, 在浏览器中显示没问题, 闲着没事复制到 Python 中想试一下, 结果...



    复制后字竟然变了... 换用其他浏览器复制字不会变, 你们可以试下. 应该不是扩展的问题, 新建了个 Profile 也是这样...
    cppgohan
        33
    cppgohan  
       Jan 20, 2017
    有一些简繁体, 字模差异非常小, 但是其实是两个字
    iugo
        34
    iugo  
    OP
       Jan 20, 2017
    @21grams 因为我之前对 Unicode 的编码规范认识比较少, 所以刚开始看到 你 使用了两种编码有些好奇: 同一个字为何要使用两种或以上编码?

    所以更深入了解了一下常用的 CJK Unified Ideographs 和作为补充的 CJK Compatibility Ideographs Supplement. 然后去 unicode.org 找了一些资料进一步了解, 比如 http://unicode.org/charts/PDF/U2F800.pdf

    分享一下, 或许对一些朋友有帮助.
    Akarin
        35
    Akarin  
       Jan 20, 2017
    ![screen shot 2017-01-20 at 14 40 21]( https://cloud.githubusercontent.com/assets/7829098/22138993/7734d4a8-df1e-11e6-86b0-b7782d1e7230.png)

    看多了这个字,会突然不认识的。
    SkYouth
        36
    SkYouth  
       Jan 20, 2017
    假的我
    SourceMan
        37
    SourceMan  
       Jan 20, 2017

    少了一个勾
    Sylv
        38
    Sylv  
       Jan 20, 2017   ❤️ 2
    Unicode 里很多长一样的,再举个例子( Python 2 代码):

    é 的 Unicode 是 u'\xe9':
    >>> print u'\xe9'
    é

    但其实也可以表示成 u'\u0065\u0301':
    >>> print u'\u0065\u0301'
    é

    后者相当于字母 e (u'\u0065') + 音符 ́ (u'\u0301'):
    >>> print u'\u0065'
    e
    >>> print u'\u0301'
    ́

    不过两者其实在 Unicode 中是等价的,可以将后者正规化为前者:
    >>> import unicodedata
    >>> unicodedata.normalize('NFC', u'\u0065\u0301')
    u'\xe9'


    扩展阅读:
    https://zh.wikipedia.org/wiki/Unicode 等價性
    Sylv
        39
    Sylv  
       Jan 20, 2017
    @Sylv 呃, V2EX 不支持链接中有中文,补个编码后的链接:
    https://zh.wikipedia.org/zh-cn/Unicode%E7%AD%89%E4%BB%B7%E6%80%A7
    bayernmunchen
        42
    bayernmunchen  
       Jan 20, 2017 via Android
    百度 id 可以注册😂😂
    xycool
        43
    xycool  
       Jan 20, 2017
    这样?
    ragnaroks
        44
    ragnaroks  
       Jan 20, 2017
    'a'=='а'
    iugo
        46
    iugo  
    OP
       Jan 20, 2017
    tewilove
        47
    tewilove  
       Jan 20, 2017
    所以参与制定编码的中国人去哪了?
    hythyt9898
        48
    hythyt9898  
       Jan 20, 2017
    好吧,我这默认字体一看就完全不同,进来看看大家
    tairan2006
        49
    tairan2006  
       Jan 20, 2017
    你的名字
    Twinkle
        50
    Twinkle  
       Jan 20, 2017
    在 console 里就看出区别了
    815lbh
        51
    815lbh  
       Jan 20, 2017
    还有囗和口
    Khlieb
        52
    Khlieb  
       Jan 20, 2017
    维基百科上说这个字是为了跟 CNS 11643-1992 编码兼容才收进去的
    mxalbert1996
        53
    mxalbert1996  
       Jan 20, 2017   ❤️ 1
    日文汉字标准里所有的「尔」都是写作「尓」的,所以这个字应该就是「你」对应的日文汉字,虽然现在日语里已经不用这个字了。
    但是 Unicode 的编码还是有一定的偶然性的,比如「尔你称弥」这四个字中前两个字的不同写法有另一个编码「尓你」,而后两个字就没有。

    @Sylv 你说的这种情况跟楼主说的看起来有点像,其实是两回事。
    squid157
        54
    squid157  
       Jan 20, 2017 via iPhone
    谁做个针对汉字的 Unicode Normalization 估计会很好啊
    woyaojizhu8
        55
    woyaojizhu8  
       Jan 20, 2017
    @imn1 所以说应该如何设置字体,让这些字能显示出来而非显示个 unicode 编码或方框呢?
    ik
        56
    ik  
       Jan 20, 2017 via iPhone
    口 囗 这两字不放一块也不好分
    Dvel
        57
    Dvel  
       Jan 20, 2017

    有意思啊
    padeoe
        58
    padeoe  
       Jan 20, 2017
    搭车发一把我收集的英文版的'a'不是'a'系列 https://github.com/padeoe/Word-Trick
    ovear
        59
    ovear  
       Jan 20, 2017
    SoulGem
        60
    SoulGem  
       Jan 20, 2017
    你们好(??????
    xmpx310
        61
    xmpx310  
       Jan 21, 2017
    发现一个码表
    派 海 流 浩 浸 涅
    随意复制几个字符让你们见识见识
    [来自中日韓相容表意文字補充[CJK Compatibility Ideographs Supplement]]( http://jicheng.tw/hanzi/unicode.html?s=2F800&e=2FA1D)
    ZRS
        62
    ZRS  
       Jan 21, 2017
    完了,看多了完型解体了,现在已经不认得你了。
    xspoco
        63
    xspoco  
       Jan 21, 2017


    我可能用的是假系统。
    xspoco
        64
    xspoco  
       Jan 21, 2017


    贴图不成功,尴尬。
    microchang
        65
    microchang  
       Jan 21, 2017 via Android   ❤️ 1
    ![]( ) 讲道理,我真不知道楼主在说啥。。。直到我打开电脑。。
    ynyounuo
        66
    ynyounuo  
       Jan 21, 2017   ❤️ 2
    这种字儿太多了

    凉凉
    目⽬
    日⽇
    儿⼉
    毛⽑
    不不
    ⿅鹿鹿
    ⼥女女
    ⼒力力
    ⾥里里
    ⽴立立
    ⾏行行

    CJK Compatibility Ideographs & Supplements
    F900-FAFF
    2F800-2FA1F
    存在很多 confusables
    2F00-2FDF 又有很多
    归为 Kangxi Radicals

    更多可以从这里看到
    http://unicode.org/cldr/utility/confusables.jsp

    之前 @Sylv 做了识别 Unicode 的 Popclip 小插件,不过倒是不能识别 CJK Compatibility Ideographs Supplements
    ffts
        67
    ffts  
       Jan 21, 2017   ❤️ 1
    对于很多程序员来说
    “;”和“;”也许更让人吃惊...


    分号在 Unicode 字符是 U+003B “;”。
    全形分号是 U+FF1B :
    台港澳和日本标准为置中,如“;”,直排时亦然
    中国大陆标准为靠左下,如“;”;直排时则靠右上,新版 Unicode 增加配合中国大陆写法之“垂直分号( PRESENTATION FORM FOR VERTICAL SEMICOLON ), U+FE14 ” “︔”[3],以兼容 GB 18030
    另有“小分号( SMALL SEMICOLON )”“﹔”在 U+FE54 ,源自 CNS11643 / Big5 。
    另有相似字符在 Unicode U+037E “;”,是希腊文问号;而希腊文分号是 U+0387 “·”。
    lawfun
        68
    lawfun  
       Jan 21, 2017
    @SuperMild 你好,可以问一下你是怎么操作的么。我把两个 你都复制到 intellij 中 打印出来的都是 20320 。
    RobertYang
        69
    RobertYang  
       Jan 21, 2017
    在手机上看显示不同 23 不过还真是第一次知道
    Patrick95
        70
    Patrick95  
       Jan 21, 2017
    学到了,哈哈。
    kn007
        71
    kn007  
       Jan 21, 2017
    。。。。。。。。。。。。。。。。
    真是学习了,居然不知道还能这么好玩
    DesignerSkyline
        72
    DesignerSkyline  
       Jan 21, 2017 via iPad
    iPad 上很清楚地看到两字有不同
    hst001
        73
    hst001  
       Jan 21, 2017 via Android
    两个字明显的不一样大家看不出来了,好像没什么好惊奇的
    jacy
        74
    jacy  
       Jan 21, 2017
    把这些字都收集起来,对付关键词过滤应该挺不错
    cst4you
        75
    cst4you  
       Jan 21, 2017
    cst4you
        76
    cst4you  
       Jan 21, 2017
    卧槽图床插件挂了...这什么鬼地址
    tabris17
        77
    tabris17  
       Jan 21, 2017
    google 能认出第一个“你”,百度不行。真垃圾
    riccar
        78
    riccar  
       Jan 21, 2017
    @giuem 求客户端名称
    giuem
        79
    giuem  
       Jan 21, 2017 via iPhone   ❤️ 1
    @riccar VeXplore
    SuperMild
        80
    SuperMild  
       Jan 22, 2017
    @lawfun 两个你字不同的,在有些系统下可以直接看到字型不同,可能你复制过程中出了问题,可能自动转换了什么的。如果是在 windows 下,你试试复制粘贴到 word 里面,可以直接看到字型不同。
    skylancer
        81
    skylancer  
       Jan 22, 2017
    我去.. 我回到手机上才发现完全不一样的字
    jiangbingo
        82
    jiangbingo  
       Jan 22, 2017
    你知道你不是你,所以你才是你。
    from 《遥远的救世主》
    zhangbohun
        83
    zhangbohun  
       Jul 18, 2022
    今天有人在微博热搜活用了这个知识点
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   997 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 250ms · UTC 22:29 · PVG 06:29 · LAX 15:29 · JFK 18:29
    ♥ Do have faith in what you're doing.