Cygwin:
man column
包含意外字符而不是-
(减号、连字符):
# cygwin
$ man column | grep -P 'table.*truncate' | od -c
0000000 - T , - - t a b
0000020 l e 342 200 220 t r u n c a t e c o
0000040 l u m n s \n
0000046
# linux
$ man column | grep -P 'table.*truncate' | od -c
0000000 - T , - - t a b
0000020 l e - t r u n c a t e c o l u
0000040 m n s \n
0000044
在这里我们看到,在 Cygwin 上,
man column
包含意外字符,而不是 -
(减号、连字符)。是预期吗?
使用这段 python 可以发现,以八进制显示的 3 个八位字节是 Unicode 连字符的 UTF-8 表示形式,这与 ASCII 减号不同。
$ python
>>> b = b"\342\200\220"
>>> c = b.decode('utf8')
>>> c
'‐'
>>> hex(ord(c))
'0x2010'
>>> ^d
$