首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

来看一下 html 这个偏门的问题?

  •  
  •   showecho · 7 天前 · 911 次点击
    ୓(实体化:୓) 这个 html 代码是存在的,但是在网页上是无法显示的;

    在 a 标签或者其他标签的时候显示为空白;

    作为 input 的 value 的时候,则显示为“豆腐块”——大家可以复制这个代码(别漏后面分号)到浏览器的搜索框搜索,搜索页显示为豆腐块;

    使用 js alert 结果也是豆腐块;

    那么问题来了,如果我是一大片这样的 html 代码,有些能正常显示,有些是这种,怎么把这种没有识别的挖出来?
    4 回复  |  直到 2018-07-13 14:20:49 +08:00
        1
    Librazy   7 天前
    其实这是一个 Unicode 的问题,U+0b53 并不是一个有效的字符。
    https://en.wikipedia.org/wiki/Oriya_(Unicode_block)
        2
    showecho   7 天前
    @Librazy 对 确实是 unicode 的问题,如果我只知道 unicode 一个范围 比如 U+0B00 到 U+0B7F,怎么知道里面哪些 unicode 代码点是没有被分配的?

    然后,既然没有被分配,为什么又有对应的 html 代码?
        3
    imn1   7 天前
    首先,显示在于客户端的字体
    例如,V 站的 Node 中苹果标识我这里就显示不出来(没有相关字体),但 V 站各位 iV2er 应该没问题,都是苹果设备
    所以,不能自己不显示就定义为无效字符

    如果确实有需要按自己的需求过滤,可以用正则\uxxxx-\uxxxx 过滤,必要时用 unicode escape 函数转换
        4
    Librazy   7 天前
    @showecho 根据 https://www.w3.org/TR/2017/REC-html52-20171214/single-page.html#character-references HTML Character references 可以引用除 U+0000, U+000D, noncharacters, surrogates 之外的 code points,但这个 code points 不一定是一个有效的 character,能不能显示出来看的是这个字符是否有效。至于判断一个字符的有效性……我就不了解了。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   实用小工具   ·   639 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 15ms · UTC 19:42 · PVG 03:42 · LAX 12:42 · JFK 15:42
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1