gpt4 book ai didi

MacOS wc (wordcount) 用 UTF-8 字符 Å 计算错误的单词

转载 作者:行者123 更新时间:2023-12-03 21:31:16 25 4
gpt4 key购买 nike

使用时wc在字符串上 Ås (瑞典字母大写 Å)当我预期 wordcount 1 时,我得到 wordcount 2。

数字Å , 给出 1,感觉正确。

$ echo sÅ | wc
1 1 4
$ echo Å | wc
1 1 3

数字 Ås , sÅs给出 2,感觉不正确。
$ echo sÅs | wc
1 2 5
$ echo Ås | wc
1 2 4

只有字母 Å可以重现这一点,而不是任何 åäöÄÖ .
$ echo "Ås" | wc
1 2 4
$ echo "Äs" | wc
1 1 4
$ echo "Ös" | wc
1 1 4

我在启动终端时使用 Mac OS 的默认区域设置,它看起来像这样:
$ locale
LANG=
LC_COLLATE="C"
LC_CTYPE="UTF-8"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=

我在 MacOS Sierra 和 Lion 上得到相同的结果。

只是检查字符串 Ås好像。
$ echo "Ås" | hexdump
0000000 c3 85 73 0a
0000004

那么,这是否是语言环境设置和 Mac OS 设置错误的问题 - 至少对于命令 wc ?

这是 wc 的Mac OS 版本中的错误吗?关于 UTF-8 字符 Å ?

或者,当使用(默认) wc -c ,字符 85 被检测为空白字符,即省略号 在 ASCII 表中? ( wc -m 然而提供了字数的预期答案)

还是我在这里遗漏了一些明显的东西?

最佳答案

的确 !这是语言环境设置的问题 - UTF_8 是可变长度编码方案。
直接 latin1 字符(旧的 Ascii 字符)编码 1 个字节,而重音瑞典字符 2 个字节(或更多?)特别检查带环的 A。希望能帮助到你

关于MacOS wc (wordcount) 用 UTF-8 字符 Å 计算错误的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41958185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com