代码之家  ›  专栏  ›  技术社区  ›  RobbR

为什么这个a0字符出现在我的html::element输出中?

  •  24
  • RobbR  · 技术社区  · 16 年前

    我正在用几个Perl模块解析一个HTML文档: HTML::TreeBuilder HTML::Element . 出于某种原因,只要标记的内容是   ,这是意料之中的,它是由html::element返回的,作为一个我以前从未见过的奇怪字符:

    alt text http://www.freeimagehosting.net/uploads/2acca201ab.jpg

    我不能复制这个字符,所以不能用谷歌搜索它,在字符地图上找不到它,奇怪的是当我用正则表达式搜索时, \w 找到它。当我将返回的文档转换为ansi或utf-8时,它将完全消失。我在html::element文档中也找不到关于它的任何信息。

    如何用更有用的东西来检测和替换这个角色? null 今后我该如何处理这种奇怪的角色呢?

    2 回复  |  直到 8 年前
        1
  •  42
  •   chaos    16 年前

    角色是 "\xa0" (即160),这是   . (也就是说,它是Unicode的不间断空格。)您应该能够使用 s/\xa0/ /g 如果你喜欢的话。

        2
  •  8
  •   Sinan Ünür    8 年前

    角色是 non-breaking space 那是什么   代表:

    在字(词)处理和数字排字技术中,不间断的空格(“ “)(也称为不间断空间、不间断空间(nbsp)、硬空间或固定空间)是一个空格字符,用于防止在其位置自动换行。在某些格式(包括html)中,它还防止连续的空白字符折叠成单个空格。

    在HTML中,与普通空格字符宽度相同的通用不间断空格被编码为或。在Unicode中,它被编码为 U+00A0 .