所有的不可打印字符都是控制字符吗?

3

这个(perl unicode)是不是意味着所有的不可打印字符都是控制字符?

\p{Print}

This matches any character that is graphical or blank, except controls.

1
“控制字符”的准确定义是什么? - DVK
我不确定这句话的意思 - 在我看来,控件似乎是图形/空白的一部分。 - sid_com
Unicode 属性 "\p{Cntrl}"。 - sid_com
1
@DVK,这将是Unicode的“General_Category=Control”字符属性,也称为“gc=Cc”。 - tchrist
2个回答

4
这将确保您能够确定:
diff -U0 \
      <( unichars -au '\P{Print}'   ) \
      <( unichars -au '\p{Control}' ) \
   && echo No differences

unichars 来自于 Unicode::Tussle

在星期一之前我不能运行它。


1
"unichars -gas '\P{print}' '\P{control}'" 显示有两个这样的代码点,U+2028 GC=Zl“行分隔符”和 U+2029 GC=Zp“段落分隔符”。 - tchrist
谢谢。一个依赖项的DB_File依赖存在问题。 - ikegami

1
如果将不可见的空格/空白字符视为可打印字符,那么只有控制字符是不可打印的。
但是,如果您不认为像行分隔符这样的空格/空白字符是可打印的,则不是。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接