cnt中文字数.pl

软件和网站开发以及相关技术探讨
回复
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

cnt中文字数.pl

#1

帖子 eexpress » 2014-02-09 17:30

代码: 全选

▶ cat bin/cnt中文字数.pl 
#!/usr/bin/perl

use utf8;
use Encode qw(_utf8_on);
#消除输出的"Wide character in print at ...."
binmode(STDOUT, ':encoding(utf8)');
#去掉空格和回车等。
open IN,"<$ARGV[0]"; while(<IN>){
s/\s//g;
_utf8_on($_);
$cnt+=length;
print;
}
print "\n\e[1;31m中文字数统计\e[0m\t=\t\e[1;34m$cnt\e[0m\n";
居然没找到精确的中文字数统计的方法,只好自己写一个。
● 鸣学
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: cnt中文字数.pl

#2

帖子 YeLee » 2014-02-09 19:11

[c]
#define UTF8_LENGTH(Char) \
((Char) < 0x80 ? 1 : \
((Char) < 0x800 ? 2 : \
((Char) < 0x10000 ? 3 : \
((Char) < 0x200000 ? 4 : \
((Char) < 0x4000000 ? 5 : 6)))))
[/c]
:em01
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: cnt中文字数.pl

#3

帖子 lilydjwg » 2014-02-15 20:45

[bash]
python3 -c 'import sys, re; print(len(re.sub(r"\s+", "", sys.stdin.read())'
ghc -e 'interact $ (++ "\n") . show . length . filter (`notElem` "\n\r \t")'
[/bash]
回复