3
wc -c

似乎只做一个哑字节计数,而不是解释有关编码的实际字符。

我怎样才能得到实际的字符数?

4

2 回答 2

9

使用-m--chars选项。

例如(text文件包含两个韩文字符和换行符):

falsetru@jmlee12:~$ cat text
안녕
falsetru@jmlee12:~$ wc -c text
7 text
falsetru@jmlee12:~$ wc -m text
3 text

根据wc(1)

   -c, --bytes
          print the byte counts

   -m, --chars
          print the character counts
于 2013-11-08T06:07:16.757 回答
1

不要混淆字符、chars 和字节。一个字节是 8 位长,-c无论你输入什么,它都会计算文件中的字节数。char许多编程语言中的 A 也是 8 位长,这就是为什么使用字节计数-c!如果您想计算文件中有多少给定字母表的字符(字符),那么您需要以某种方式指定使用了哪种字符编码,有时,该编码使用超过一个字节的字符. 阅读手册wc,它将告诉您-m将使用您当前的语言环境(大致是您的语言/字符集首选项)来解码文件并计算您的字符数。

于 2013-11-08T06:32:53.317 回答