【问题标题】:Counting characters in a UTF-8 file计算 UTF-8 文件中的字符数
【发布时间】:2013-11-08 06:04:26
【问题描述】:
wc -c

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

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

【问题讨论】:

  • 我编辑了您的问题以澄清您正在寻找字符数,而不是 wc -c 给您的字节数。如果这不是您的意思,请随意回滚编辑...

标签: bash unix encoding utf-8 wc


【解决方案1】:

使用-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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-14
      • 1970-01-01
      • 1970-01-01
      • 2014-03-12
      • 2021-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多