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

为什么glibc中有“no break space”和其他ispunt()呢?

  •  2
  • DevSolar  · 技术社区  · 6 年前

    我一直在看 <wctype.h> gnu libc给各种分隔符的标志。基本上有两组。

    第一组返回true on iswspace() iswblank() (和) isprint() ,但对另一组人来说也是如此)。其中包括:

    到目前为止还没有投诉。这个 其他 不过,这群人让我感到困惑:

    这些回报 ISWSPACTIONE() ISWBLACK() 但是 对于 iswpunct() iswgraph() .

    为什么最后三个被认为是标点符号,而不是空白?

    Java显然同意glibc的观点(参见链接页面)。 Unicode 将两个类别标记为类别“ZS”、“SypuleS隔离器”…

    1 回复  |  直到 6 年前
        1
  •  2
  •   DevSolar    6 年前

    ISO/IEC 30112标准 信息技术文化习俗规范方法 国家,强调我的:

    空间

    定义要分类为空白字符的字符, 寻找句法界限 . […]班级应该 不包括不间断空格字符 <U00A0> , <U2007> , <UFEFF> ,因为这些字符不应用于单词边界。