总括中文文本中常用字占比,高频汉字

 1000个应用频率最高的方块字,其覆盖率达一般书刊用字的90%。

背景知识: GB2312

GB 2312-80
是中华国标简体中文字符集,全称《消息交流用汉字编码字符集·基本集》,由中中原人民共和国国标总局颁发,1985年3月111日施行。GB2312
编码通行于中华东军事和政院洲;新加坡共和国等地也运用此编码。中中原人民共和国陆地差不多全数的中国语言法学系统和国际化的软件都匡助GB 2312。

GB2312 标准共收音和录音 6763 个汉字,个中一级汉字 3755 个,二级汉字 3007个;同时收音和录音了回顾拉丁字母、希腊(Ελλάδα)字母、日文平假名及片假名字母、菲律宾语西阿布贾字母在内的
682 个字符。GB2312
的产出,基本满意了汉字的总括机处理须要,它所引用的方块字已经覆盖中华夏族民共和国次大陆
99.百分之七十五 的行使频率。对于人名、古中文等地点出现的罕用字,GB2312
不能够处理,那导致了新生 GBK 及 GB18030 汉字字符集的产出。

GB2312 中对所收汉字进行了“分区”处理,每区含有 9陆个汉字/符号。那种代表方法也称为区位码。

  • 01 – 09 区为特殊符号。
  • 16 – 55 区为一流汉字,按拼音排序。
  • 56 – 87 区为二级汉字,按部首/笔画排序。

10 – 15 区及 88 – 94 区则未有编码。举例来说,“啊”字是 GB2312
之中的第二个汉字,它的区位码正是 1601。

各类汉字及符号以八个字节来代表。第四个字节称为“高位字节”,第四个字节称为“低位字节”。“高位字节”使用了
0xA1 – 0xF7(把 01 – 87 区的区号加上 0xA0),“低位字节”使用了 0xA1 –
0xFE(把 01 – 94 位的位号加上 0xA0)。 由于超级汉字从 16
区发轫,汉字区的“高位字节”的限量是 0xB0 – 0xF7,“低位字节”的限量是 0xA1

  • 0xFE,占用的码位是 72 * 94 = 6768。当中有 5 个空位是 D7FA –
    D7FE。例如“啊”字在一大半先后中,会以三个字节,0xB0(第三个字节)0xA1(第一个字节)储存。(与区位码比较:0xB0
    = 0xA0 + 16, 0xA1 = 0xA0 + 1)。

国标 GB 18030-2007《新闻技术
粤语编码字符集》,是中国现行反革命流行的内码字集,与 GB 2312-一九七九完全匹配,与 GBK 基本非凡,辅助 GB 1三千 及 Unicode
的整套联合汉字,共收录汉字 702四十三个。现行反革命版本为国家质量监督检验总局和中华夏族民共和国国标化管委于二〇〇五年八月二十一日揭露,二〇〇六年三月三十日实践,为在中原国内全体软件出品辅助的威吓标准。

(以上资料来源“维基百科”)

《周豫山文集》的总计结果

下边是《周豫才文集》总计结果的首先有的:

A:  2,090,716  95.80% | 2,486  37.99% |  841.00
B:     51,546   2.36% |   947  14.47% |   54.43
C:     40,226   1.84% | 3,111  47.54% |   12.93
T:  2,182,488 100.00% | 6,544 100.00% |  333.51

(A:14) 雹蹦踩叼盯秆饺挎涝眯乓膨馅氧
(B:53) 泵蓖膘憋茬碴搓掸矾钙埂焊夯秸玖抠晾铝峦锚铆锰蘑蔫撵镊柠啤柒呛瓤苫酥檩捅蟥豌捂嘀馍芯癣堰掰椰涮笤啰麸咪衩杈籽

从上述结果能够见到,在《周树人文集》中:

  • 总共有二百多万字,当中唯有5000五百四个不等汉字。各类(分裂的)汉字平均现身333.51 次。
  • 有 2,486 个不相同的常用字,各种常用字平均出现 841.00
    次,共有二百多万字,占比为 95.八成。
  • 有 947 个差别的次常用字,每一个次常用字平均出现 54.4一回,共有50000多字,占比为 2.36%。
  • 有 3,111 个例外的任何汉字,每一个其余汉字平均现身 12.九十一次,共有50000多字,占比为 1.84%。
  • 从不出现的常用字有十四个,次常用字有53个。

下边是计算结果的第一片段节选:

A:  77,953 [的]  3.57%   3.57%     1
A:  39,195 [一]  1.80%   5.37%     2
A:  32,135 [是]  1.47%   6.84%     3
A:  28,184 [不]  1.29%   8.13%     4
A:  23,931 [人]  1.10%   9.23%     5
A:  23,449 [有]  1.07%  10.30%     6
A:  20,081 [了]  0.92%  11.22%     7
A:  17,853 [之]  0.82%  12.04%     8
A:  17,844 [在]  0.82%  12.86%     9
A:  16,121 [我]  0.74%  13.60%    10
A:  15,977 [为]  0.73%  14.33%    11
A:  15,046 [文]  0.69%  15.02%    12
A:  14,443 [这]  0.66%  15.68%    13
A:  14,279 [也]  0.65%  16.33%    14
A:  14,008 [以]  0.64%  16.98%    15
A:  13,616 [于]  0.62%  17.60%    16
A:  13,358 [他]  0.61%  18.21%    17
A:  13,054 [年]  0.60%  18.81%    18
A:  12,966 [中]  0.59%  19.40%    19
A:  12,885 [说]  0.59%  19.99%    20
...
A:   1,933 [高]  0.09%  62.10%   240
C:   1,921 [曰]  0.09%  62.19%   241
B:   1,915 [谓]  0.09%  62.28%   242
A:   1,909 [迅]  0.09%  62.36%   243
...
C:       1 [隣]  0.00% 100.00% 6,544
End

地点是《周樟寿文集》中冒出的 6,5肆十三个差别汉字按出现的次数降序排列的结果。从中能够观看,在《周豫才文集》中:

  • 最常用字是“的”字,占比为 3.53%。
  • 前11个常用字占比当先十分之一三,前拾3个常用字占比极为类似1/5。
  • 占前 240 位的都是常用字。第 241 位是“曰”字(别的汉字),占比为
    0.09%,那个字在当代国语中很少用,但在文言中很常用。
  • 次常用字第二回面世于第 242 位,是“谓”字,占比为 0.09%。

paip.一千 常用汉字 高频汉字 覆盖率十分之九

背景知识: 现代国语常用字

为了适应语文化经济学、词书编纂以及汉字机械处理和音讯处理等外省点的内需,国家语言文字工作委员会汉字处从一九八七年3月开始研制现代中文常用字表。一九八七年十月国家语言文字工委特约教育、语言、消息处理等地点专家对字表草案举行论证;同年7月委托江苏复旦学学总计机科学系作抽样检验。国家庭教育育委员会关于机关出席了字表草案的修订工作。国家语言文字工委汉字处基于各地方提议的见地对字表草案进行重新整建勘误,于一九九〇年五月制定出当代国语常用字表。

常用字表选材的小时限定是从1926至1989年。在此时间区域内使用分裂密度抽样,即抽样量按时间顺序递增,以近日的素材为机要抽样对象。社会用字与法律和政治、经济、文化的开拓进取具备密切的涉嫌,差别时期的用字情形有所不一样。假如仅依某一短时代的用字情形采取常用字则有时光的局限性。适当把总计的时刻扩张,纵观各样分裂时代的用字境况,则能够度量字的接纳是还是不是稳定。采用使用稳定的字,能够制止选字的偶然性。

《现代普通话常用字表》分常用字(2500字)和次常用字(1000字)七个部分。

为了检查常用字表中选收的常用字是或不是创制,新疆北大学学电脑科学系利用计算机抽样总计200万字的语言材质,检查和测试选收的常用字的选择成效。检测结果是:2500常用字覆盖率达97.97%,一千次常用字覆盖率达
1.52%,合计(3500字)覆盖率达99.60%,表达《现代中文常用字表》是符合实际的。

编写翻译和周转

在 Arch Linux 的 Mono 2.10.8 环境下编写翻译和平运动行:

work$ dmcs ChineseCounter.cs RandomChinese.cs
work$ mono ChineseCounter.exe *.txt
work$ mono ChineseCounter.exe 鲁迅文集.txt
work$ mono ChineseCounter.exe 金庸全集.txt
work$ mono ChineseCounter.exe 路遥全集.txt
work$ mono ChineseCounter.exe 楚天碧心.txt

评释如下:

  • 编写翻译时索要用到 RandomChinese.cs
    来提供常用字和次常用字,请参见:轻易生成常用汉字(再度创新版)
  • 先是次运维的命令行参数是 *.txt,用于转移全部资料的计算结果。假诺在
    Windows 下运作,需求在命令行上依次给出多个文本名。
  • 后七次运维依次生成对应的计算结果。
  • 事实上运作时可将结果重定向到文件中。

作者Attilax  艾龙,  EMAIL:1466519819@qq.com
来源:attilax的专栏
地址:http://blog.csdn.net/attilax
 
于1988年3月专业公告的《现代中文常用字表》,共收字3500个,在那之中常用字2500个,次常用字1000个。2500个常用字的覆盖率为97.97%,次常用字1000次常用字的覆盖率为1.51%,总覆盖率达99.48%。
 
 若按使用频率排列,一千个应用效能最高的方块字,其覆盖率达90%。那也算得,明白了那一千个高频度汉字,就能认读现代的一般书刊中90%的汉字。
 
 
 —————–一千个应用作用最高的方块字—————
 的,一,是,了,我,不,人,在,他,有,这,个,上,们,来,到,时,大,地,为,子,中,你,说,生,国,年,着,就,那,和,要,她,出,也,得,里,后,自,以,会,家,可,下,而,过,天,去,能,对,小,多,然,于,心,学,么,之,都,好,看,起,发,当,没,成,只,如,事,把,还,用,第,样,道,想,作,种,开,美,总,从,无,情,己,面,最,女,但,现,前,些,所,同,日,手,又,行,意,动,方,期,它,头,经,长,儿,回,位,分,爱,老,因,很,给,名,法,间,斯,知,世,什,两,次,使,身,者,被,高,已,亲,其,进,此,话,常,与,活,正,感,见,明,问,力,理,尔,点,文,几,定,本,公,特,做,外,孩,相,西,果,走,将,月,十,实,向,声,车,全,信,重,三,机,工,物,气,每,并,别,真,打,太,新,比,才,便,夫,再,书,部,水,像,眼,等,体,却,加,电,主,界,门,利,海,受,听,表,德,少,克,代,员,许,稜,先,口,由,死,安,写,性,马,光,白,或,住,难,望,教,命,花,结,乐,色,更,拉,东,神,记,处,让,母,父,应,直,字,场,平,报,友,关,放,至,张,认,接,告,入,笑,内,英,军,候,民,岁,往,何,度,山,觉,路,带,万,男,边,风,解,叫,任,金,快,原,吃,妈,变,通,师,立,象,数,四,失,满,战,远,格,士,音,轻,目,条,呢,病,始,达,深,完,今,提,求,清,王,化,空,业,思,切,怎,非,找,片,罗,钱,紶,吗,语,元,喜,曾,离,飞,科,言,干,流,欢,约,各,即,指,合,反,题,必,该,论,交,终,林,请,医,晚,制,球,决,窢,传,画,保,读,运,及,则,房,早,院,量,苦,火,布,品,近,坐,产,答,星,精,视,五,连,司,巴,奇,管,类,未,朋,且,婚,台,夜,青,北,队,久,乎,越,观,落,尽,形,影,红,爸,百,令,周,吧,识,步,希,亚,术,留,市,半,热,送,兴,造,谈,容,极,随,演,收,首,根,讲,整,式,取,照,办,强,石,古,华,諣,拿,计,您,装,似,足,双,妻,尼,转,诉,米,称,丽,客,南,领,节,衣,站,黑,刻,统,断,福,城,故,历,惊,脸,选,包,紧,争,另,建,维,绝,树,系,伤,示,愿,持,千,史,谁,准,联,妇,纪,基,买,志,静,阿,诗,独,复,痛,消,社,算,算,义,竟,确,酒,需,单,治,卡,幸,兰,念,举,仅,钟,怕,共,毛,句,息,功,官,待,究,跟,穿,室,易,游,程,号,居,考,突,皮,哪,费,倒,价,图,具,刚,脑,永,歌,响,商,礼,细,专,黄,块,脚,味,灵,改,据,般,破,引,食,仍,存,众,注,笔,甚,某,沉,血,备,习,校,默,务,土,微,娘,须,试,怀,料,调,广,蜖,苏,显,赛,查,密,议,底,列,富,梦,错,座,参,八,除,跑,亮,假,印,设,线,温,虽,掉,京,初,养,香,停,际,致,阳,纸,李,纳,验,助,激,够,严,证,帝,饭,忘,趣,支,春,集,丈,木,研,班,普,导,顿,睡,展,跳,获,艺,六,波,察,群,皇,段,急,庭,创,区,奥,器,谢,弟,店,否,害,草,排,背,止,组,州,朝,封,睛,板,角,况,曲,馆,育,忙,质,河,续,哥,呼,若,推,境,遇,雨,标,姐,充,围,案,伦,护,冷,警,贝,著,雪,索,剧,啊,船,险,烟,依,斗,值,帮,汉,慢,佛,肯,闻,唱,沙,局,伯,族,低,玩,资,屋,击,速,顾,泪,洲,团,圣,旁,堂,兵,七,露,园,牛,哭,旅,街,劳,型,烈,姑,陈,莫,鱼,异,抱,宝,权,鲁,简,态,级,票,怪,寻,杀,律,胜,份,汽,右,洋,范,床,舞,秘,午,登,楼,贵,吸,责,例,追,较,职,属,渐,左,录,丝,牙,党,继,托,赶,章,智,冲,叶,胡,吉,卖,坚,喝,肉,遗,救,修,松,临,藏,担,戏,善,卫,药,悲,敢,靠,伊,村,戴,词,森,耳,差,短,祖,云,规,窗,散,迷,油,旧,适,乡,架,恩,投,弹,铁,博,雷,府,压,超,负,勒,杂,醒,洗,采,毫,嘴,毕,九,冰,既,状,乱,景,席,珍,童,顶,派,素,脱,农,疑,练,野,按,犯,拍,征,坏,骨,余,承,置,臓,彩,灯,巨,琴,免,环,姆,暗,换,技,翻,束,增,忍,餐,洛,塞,缺,忆,判,欧,层,付,阵,玛,批,岛,项,狗,休,懂,武,革,良,恶,恋,委,拥,娜,妙,探,呀,营,退,摇,弄,桌,熟,诺,宣,银,势,奖,宫,忽,套,康,供,优,课,鸟,喊,降,夏,困,刘,罪,亡,鞋,健,模,败,伴,守,挥,鲜,财,孤,枪,禁,恐,伙,杰,迹,妹,藸,遍,盖,副,坦,牌,江,顺,秋,萨,菜,划,授,归,浪,听,凡,预,奶,雄,升,碃,编,典,袋,莱,含,盛,济,蒙,棋,端,腿,招,释,介,烧,误
 
 
 

现代国语常用字与国标一流字的相比

综上所述,现代汉语常用字有3500个,国家标准(GB2312)一级字有375七个。那多头都以常用汉字,后者比前者多255字。那么,就让大家来相比较一下那两者有啥样分化吗。上面便是实行相比较的
C# 源程序:

 1 using System;
 2 using System.IO;
 3 using System.Net;
 4 using System.Text;
 5 using System.Linq;
 6 using System.IO.Compression;
 7 using System.Collections.Generic;
 8 
 9 namespace Skyiv.Utils
10 {
11   static class ChineseComparer
12   {
13     static readonly string zipFileName = "http://files.cnblogs.com/skyivben/Chinese3500.zip";
14     
15     static void Main()
16     {
17       var 一级字 = new HashSet<char>(GetGB2312String());
18       var 常用字 = new HashSet<char>();
19       常用字.UnionWith(GetChineseString(zipFileName, "常用字.txt"));
20       常用字.UnionWith(GetChineseString(zipFileName, "次常用字.txt"));
21       常用字.ExceptWith("\r\n");
22       Console.WriteLine("常用字({0}个) 国标一级字({1}个)", 常用字.Count, 一级字.Count);
23       Compare(常用字, 一级字);
24       Compare(一级字, 常用字);
25     }
26     
27     static void Compare(HashSet<char> set1, HashSet<char> set2)
28     {
29       var set = new HashSet<char>(set1);
30       set.ExceptWith(set2);
31       Console.WriteLine("({0}个) {1}", set.Count, new string(set.ToArray()));
32     }
33     
34     // 现代汉语常用字表(常用字2500个,次常用字1000个)
35     static string GetChineseString(string zipFileName, string fileName)
36     {
37       using (var zip = new ZipArchive(new Uri(zipFileName).GetHttpStream()))
38         return new StreamReader(zip.GetEntry(fileName).Open()).ReadToEnd();
39     }
40     
41     // 国标一级字(共3755个): 区:16-55, 位:01-94, 55区最后5位为空位
42     static string GetGB2312String()
43     {
44       var list = new List<byte>();
45       for (var 区 = 16; 区 <= 55; 区++)
46         for (int 位2 = (区 == 55) ? 89 : 94, 位 = 1; 位 <= 位2; 位++)
47         {
48           list.Add((byte)(区 + 0xa0));
49           list.Add((byte)(位 + 0xa0));
50         }
51       return Encoding.GetEncoding("GB2312").GetString(list.ToArray());
52     }
53 
54     static Stream GetHttpStream(this Uri uri)
55     {
56       return ((HttpWebResponse)((HttpWebRequest)WebRequest.Create(uri)).GetResponse()).GetResponseStream();
57     }
58   }
59 }

程序分析:

  1. 第⑤1至52行的 GetGB2312String 方法生成国家标准一流字。
  2. 第叁4至39行的 GetChineseString
    方法生成常用字。该措施读取笔者上流传乐乎的 Chinese3500.zip
    文件,使用 .NET Framework 4.5 Base Class Library 中的 ZipArchive
    类来直接读取压缩包中的 常用字.txt 和 次常用字.txt 的剧情。 
  3. 第三7至32行的 Compare 方法调用 HashSet 类的 ExceptWith
    方法来取得多少个汇聚的差集。

参考资料

  1. 乐乎:
    随机生成常用汉字(再度革新版)
  2. 华夏语言文字网:
    《现代国语常用字表》

 

当代汉字常用字表

常用字.txt (共2500字):

 1 一乙
 2 二十丁厂七卜人入八九几儿了力乃刀又
 3 三于干亏士工土才寸下大丈与万上小口巾山千乞川亿个勺久凡及夕丸么广亡门义之尸弓己已子卫也女飞刃习叉马乡
 4 丰王井开夫天无元专云扎艺木五支厅不太犬区历尤友匹车巨牙屯比互切瓦止少日中冈贝内水见午牛手毛气升长仁什片仆化仇币仍仅斤爪反介父从今凶分乏公仓月氏勿欠风丹匀乌凤勾文六方火为斗忆订计户认心尺引丑巴孔队办以允予劝双书幻
 5 玉刊示末未击打巧正扑扒功扔去甘世古节本术可丙左厉右石布龙平灭轧东卡北占业旧帅归且旦目叶甲申叮电号田由史只央兄叼叫另叨叹四生失禾丘付仗代仙们仪白仔他斥瓜乎丛令用甩印乐句匆册犯外处冬鸟务包饥主市立闪兰半汁汇头汉宁穴它讨写让礼训必议讯记永司尼民出辽奶奴加召皮边发孕圣对台矛纠母幼丝
 6 式刑动扛寺吉扣考托老执巩圾扩扫地扬场耳共芒亚芝朽朴机权过臣再协西压厌在有百存而页匠夸夺灰达列死成夹轨邪划迈毕至此贞师尘尖劣光当早吐吓虫曲团同吊吃因吸吗屿帆岁回岂刚则肉网年朱先丢舌竹迁乔伟传乒乓休伍伏优伐延件任伤价份华仰仿伙伪自血向似后行舟全会杀合兆企众爷伞创肌朵杂危旬旨负各名多争色壮冲冰庄庆亦刘齐交次衣产决充妄闭问闯羊并关米灯州汗污江池汤忙兴宇守宅字安讲军许论农讽设访寻那迅尽导异孙阵阳收阶阴防奸如妇好她妈戏羽观欢买红纤级约纪驰巡
 7 寿弄麦形进戒吞远违运扶抚坛技坏扰拒找批扯址走抄坝贡攻赤折抓扮抢孝均抛投坟抗坑坊抖护壳志扭块声把报却劫芽花芹芬苍芳严芦劳克苏杆杠杜材村杏极李杨求更束豆两丽医辰励否还歼来连步坚旱盯呈时吴助县里呆园旷围呀吨足邮男困吵串员听吩吹呜吧吼别岗帐财针钉告我乱利秃秀私每兵估体何但伸作伯伶佣低你住位伴身皂佛近彻役返余希坐谷妥含邻岔肝肚肠龟免狂犹角删条卵岛迎饭饮系言冻状亩况床库疗应冷这序辛弃冶忘闲间闷判灶灿弟汪沙汽沃泛沟没沈沉怀忧快完宋宏牢究穷灾良证启评补初社识诉诊词译君灵即层尿尾迟局改张忌际陆阿陈阻附妙妖妨努忍劲鸡驱纯纱纳纲驳纵纷纸纹纺驴纽
 8 奉玩环武青责现表规抹拢拔拣担坦押抽拐拖拍者顶拆拥抵拘势抱垃拉拦拌幸招坡披拨择抬其取苦若茂苹苗英范直茄茎茅林枝杯柜析板松枪构杰述枕丧或画卧事刺枣雨卖矿码厕奔奇奋态欧垄妻轰顷转斩轮软到非叔肯齿些虎虏肾贤尚旺具果味昆国昌畅明易昂典固忠咐呼鸣咏呢岸岩帖罗帜岭凯败贩购图钓制知垂牧物乖刮秆和季委佳侍供使例版侄侦侧凭侨佩货依的迫质欣征往爬彼径所舍金命斧爸采受乳贪念贫肤肺肢肿胀朋股肥服胁周昏鱼兔狐忽狗备饰饱饲变京享店夜庙府底剂郊废净盲放刻育闸闹郑券卷单炒炊炕炎炉沫浅法泄河沾泪油泊沿泡注泻泳泥沸波泼泽治怖性怕怜怪学宝宗定宜审宙官空帘实试郎诗肩房诚衬衫视话诞询该详建肃录隶居届刷屈弦承孟孤陕降限妹姑姐姓始驾参艰线练组细驶织终驻驼绍经贯
 9 奏春帮珍玻毒型挂封持项垮挎城挠政赴赵挡挺括拴拾挑指垫挣挤拼挖按挥挪某甚革荐巷带草茧茶荒茫荡荣故胡南药标枯柄栋相查柏柳柱柿栏树要咸威歪研砖厘厚砌砍面耐耍牵残殃轻鸦皆背战点临览竖省削尝是盼眨哄显哑冒映星昨畏趴胃贵界虹虾蚁思蚂虽品咽骂哗咱响哈咬咳哪炭峡罚贱贴骨钞钟钢钥钩卸缸拜看矩怎牲选适秒香种秋科重复竿段便俩贷顺修保促侮俭俗俘信皇泉鬼侵追俊盾待律很须叙剑逃食盆胆胜胞胖脉勉狭狮独狡狱狠贸怨急饶蚀饺饼弯将奖哀亭亮度迹庭疮疯疫疤姿亲音帝施闻阀阁差养美姜叛送类迷前首逆总炼炸炮烂剃洁洪洒浇浊洞测洗活派洽染济洋洲浑浓津恒恢恰恼恨举觉宣室宫宪突穿窃客冠语扁袄祖神祝误诱说诵垦退既屋昼费陡眉孩除险院娃姥姨姻娇怒架贺盈勇怠柔垒绑绒结绕骄绘给络骆绝绞统
10 耕耗艳泰珠班素蚕顽盏匪捞栽捕振载赶起盐捎捏埋捉捆捐损都哲逝捡换挽热恐壶挨耻耽恭莲莫荷获晋恶真框桂档桐株桥桃格校核样根索哥速逗栗配翅辱唇夏础破原套逐烈殊顾轿较顿毙致柴桌虑监紧党晒眠晓鸭晃晌晕蚊哨哭恩唤啊唉罢峰圆贼贿钱钳钻铁铃铅缺氧特牺造乘敌秤租积秧秩称秘透笔笑笋债借值倚倾倒倘俱倡候俯倍倦健臭射躬息徒徐舰舱般航途拿爹爱颂翁脆脂胸胳脏胶脑狸狼逢留皱饿恋桨浆衰高席准座脊症病疾疼疲效离唐资凉站剖竞部旁旅畜阅羞瓶拳粉料益兼烤烘烦烧烛烟递涛浙涝酒涉消浩海涂浴浮流润浪浸涨烫涌悟悄悔悦害宽家宵宴宾窄容宰案请朗诸读扇袜袖袍被祥课谁调冤谅谈谊剥恳展剧屑弱陵陶陷陪娱娘通能难预桑绢绣验继
11 球理捧堵描域掩捷排掉堆推掀授教掏掠培接控探据掘职基著勒黄萌萝菌菜萄菊萍菠营械梦梢梅检梳梯桶救副票戚爽聋袭盛雪辅辆虚雀堂常匙晨睁眯眼悬野啦晚啄距跃略蛇累唱患唯崖崭崇圈铜铲银甜梨犁移笨笼笛符第敏做袋悠偿偶偷您售停偏假得衔盘船斜盒鸽悉欲彩领脚脖脸脱象够猜猪猎猫猛馅馆凑减毫麻痒痕廊康庸鹿盗章竟商族旋望率着盖粘粗粒断剪兽清添淋淹渠渐混渔淘液淡深婆梁渗情惜惭悼惧惕惊惨惯寇寄宿窑密谋谎祸谜逮敢屠弹随蛋隆隐婚婶颈绩绪续骑绳维绵绸绿
12 琴斑替款堪搭塔越趁趋超提堤博揭喜插揪搜煮援裁搁搂搅握揉斯期欺联散惹葬葛董葡敬葱落朝辜葵棒棋植森椅椒棵棍棉棚棕惠惑逼厨厦硬确雁殖裂雄暂雅辈悲紫辉敞赏掌晴暑最量喷晶喇遇喊景践跌跑遗蛙蛛蜓喝喂喘喉幅帽赌赔黑铸铺链销锁锄锅锈锋锐短智毯鹅剩稍程稀税筐等筑策筛筒答筋筝傲傅牌堡集焦傍储奥街惩御循艇舒番释禽腊脾腔鲁猾猴然馋装蛮就痛童阔善羡普粪尊道曾焰港湖渣湿温渴滑湾渡游滋溉愤慌惰愧愉慨割寒富窜窝窗遍裕裤裙谢谣谦属屡强粥疏隔隙絮嫂登缎缓编骗缘
13 瑞魂肆摄摸填搏塌鼓摆携搬摇搞塘摊蒜勤鹊蓝墓幕蓬蓄蒙蒸献禁楚想槐榆楼概赖酬感碍碑碎碰碗碌雷零雾雹输督龄鉴睛睡睬鄙愚暖盟歇暗照跨跳跪路跟遣蛾蜂嗓置罪罩错锡锣锤锦键锯矮辞稠愁筹签简毁舅鼠催傻像躲微愈遥腰腥腹腾腿触解酱痰廉新韵意粮数煎塑慈煤煌满漠源滤滥滔溪溜滚滨粱滩慎誉塞谨福群殿辟障嫌嫁叠缝缠
14 静碧璃墙撇嘉摧截誓境摘摔聚蔽慕暮蔑模榴榜榨歌遭酷酿酸磁愿需弊裳颗嗽蜻蜡蝇蜘赚锹锻舞稳算箩管僚鼻魄貌膜膊膀鲜疑馒裹敲豪膏遮腐瘦辣竭端旗精歉熄熔漆漂漫滴演漏慢寨赛察蜜谱嫩翠熊凳骡缩
15 慧撕撒趣趟撑播撞撤增聪鞋蕉蔬横槽樱橡飘醋醉震霉瞒题暴瞎影踢踏踩踪蝶蝴嘱墨镇靠稻黎稿稼箱箭篇僵躺僻德艘膝膛熟摩颜毅糊遵潜潮懂额慰劈
16 操燕薯薪薄颠橘整融醒餐嘴蹄器赠默镜赞篮邀衡膨雕磨凝辨辩糖糕燃澡激懒壁避缴
17 戴擦鞠藏霜霞瞧蹈螺穗繁辫赢糟糠燥臂翼骤
18 鞭覆蹦镰翻鹰
19 警攀蹲颤瓣爆疆
20 壤耀躁嚼嚷籍魔灌
21 蠢霸露
22 囊
23 罐

次常用字.txt (共一千字):

 1  
 2 匕刁
 3 
 4 丐歹戈夭仑讥冗邓
 5 艾夯凸卢叭叽皿凹囚矢乍尔冯玄
 6 邦迂邢芋芍吏夷吁吕吆屹廷迄臼仲伦伊肋旭匈凫妆亥汛讳讶讹讼诀弛阱驮驯纫
 7 玖玛韧抠扼汞扳抡坎坞抑拟抒芙芜苇芥芯芭杖杉巫杈甫匣轩卤肖吱吠呕呐吟呛吻吭邑囤吮岖牡佑佃伺囱肛肘甸狈鸠彤灸刨庇吝庐闰兑灼沐沛汰沥沦汹沧沪忱诅诈罕屁坠妓姊妒纬
 8 玫卦坷坯拓坪坤拄拧拂拙拇拗茉昔苛苫苟苞茁苔枉枢枚枫杭郁矾奈奄殴歧卓昙哎咕呵咙呻咒咆咖帕账贬贮氛秉岳侠侥侣侈卑刽刹肴觅忿瓮肮肪狞庞疟疙疚卒氓炬沽沮泣泞泌沼怔怯宠宛衩祈诡帚屉弧弥陋陌函姆虱叁绅驹绊绎
 9 契贰玷玲珊拭拷拱挟垢垛拯荆茸茬荚茵茴荞荠荤荧荔栈柑栅柠枷勃柬砂泵砚鸥轴韭虐昧盹咧昵昭盅勋哆咪哟幽钙钝钠钦钧钮毡氢秕俏俄俐侯徊衍胚胧胎狰饵峦奕咨飒闺闽籽娄烁炫洼柒涎洛恃恍恬恤宦诫诬祠诲屏屎逊陨姚娜蚤骇
10 耘耙秦匿埂捂捍袁捌挫挚捣捅埃耿聂荸莽莱莉莹莺梆栖桦栓桅桩贾酌砸砰砾殉逞哮唠哺剔蚌蚜畔蚣蚪蚓哩圃鸯唁哼唆峭唧峻赂赃钾铆氨秫笆俺赁倔殷耸舀豺豹颁胯胰脐脓逛卿鸵鸳馁凌凄衷郭斋疹紊瓷羔烙浦涡涣涤涧涕涩悍悯窍诺诽袒谆祟恕娩骏
11 琐麸琉琅措捺捶赦埠捻掐掂掖掷掸掺勘聊娶菱菲萎菩萤乾萧萨菇彬梗梧梭曹酝酗厢硅硕奢盔匾颅彪眶晤曼晦冕啡畦趾啃蛆蚯蛉蛀唬啰唾啤啥啸崎逻崔崩婴赊铐铛铝铡铣铭矫秸秽笙笤偎傀躯兜衅徘徙舶舷舵敛翎脯逸凰猖祭烹庶庵痊阎阐眷焊焕鸿涯淑淌淮淆渊淫淳淤淀涮涵惦悴惋寂窒谍谐裆袱祷谒谓谚尉堕隅婉颇绰绷综绽缀巢
12 琳琢琼揍堰揩揽揖彭揣搀搓壹搔葫募蒋蒂韩棱椰焚椎棺榔椭粟棘酣酥硝硫颊雳翘凿棠晰鼎喳遏晾畴跋跛蛔蜒蛤鹃喻啼喧嵌赋赎赐锉锌甥掰氮氯黍筏牍粤逾腌腋腕猩猬惫敦痘痢痪竣翔奠遂焙滞湘渤渺溃溅湃愕惶寓窖窘雇谤犀隘媒媚婿缅缆缔缕骚
13 瑟鹉瑰搪聘斟靴靶蓖蒿蒲蓉楔椿楷榄楞楣酪碘硼碉辐辑频睹睦瞄嗜嗦暇畸跷跺蜈蜗蜕蛹嗅嗡嗤署蜀幌锚锥锨锭锰稚颓筷魁衙腻腮腺鹏肄猿颖煞雏馍馏禀痹廓痴靖誊漓溢溯溶滓溺寞窥窟寝褂裸谬媳嫉缚缤剿
14 赘熬赫蔫摹蔓蔗蔼熙蔚兢榛榕酵碟碴碱碳辕辖雌墅嘁踊蝉嘀幔镀舔熏箍箕箫舆僧孵瘩瘟彰粹漱漩漾慷寡寥谭褐褪隧嫡缨
15 撵撩撮撬擒墩撰鞍蕊蕴樊樟橄敷豌醇磕磅碾憋嘶嘲嘹蝠蝎蝌蝗蝙嘿幢镊镐稽篓膘鲤鲫褒瘪瘤瘫凛澎潭潦澳潘澈澜澄憔懊憎翩褥谴鹤憨履嬉豫缭
16 撼擂擅蕾薛薇擎翰噩橱橙瓢蟥霍霎辙冀踱蹂蟆螃螟噪鹦黔穆篡篷篙篱儒膳鲸瘾瘸糙燎濒憾懈窿缰
17 壕藐檬檐檩檀礁磷瞭瞬瞳瞪曙蹋蟋蟀嚎赡镣魏簇儡徽爵朦臊鳄糜癌懦豁臀
18 藕藤瞻嚣鳍癞瀑襟璧戳
19 攒孽蘑藻鳖蹭蹬簸簿蟹靡癣羹
20 鬓攘蠕巍鳞糯譬
21 霹躏髓
22 蘸镶瓤
23 
24 矗

上述四个文件中每行的方块字的笔划数都一致。那五个文本文件被参与Chinese3500.zip
文件,上传到新浪。前边的主次就是平素读取新浪服务器上的压缩文件。

《Louis Cha全集》的总结结果

上面是《Louis Cha全集》总括结果的首先片段:

A:  7,017,673  96.12% | 2,495  46.67% | 2812.69
B:    185,331   2.54% |   918  17.17% |  201.89
C:     97,913   1.34% | 1,933  36.16% |   50.65
T:  7,300,917 100.00% | 5,346 100.00% | 1365.68

(A:5) 菠吨阀涝秒
(B:82) 癌氨泵蓖蹭茬碴椿氮碘淀囤哆肪啡钙柑埂硅夯荚钾秸玖咖抠榔晾馏铝氯铆檬锰钠蔫柠硼啤浦柒氢瘸瓤叁苫赡黍栓檩碳誊蟥蜕鲫捂嘁榛锨腺锌癣汛蚜胰肄笤蛉荧蛹麸秫芋荸酝荞茴衩蔗杈蛀籽

从上述结果能够见到,在《金英豪全集》中:

  • 一起有七百三八千0多字,在那之中只有5000三百八个例外汉字。各种(差异的)汉字平均出现1,365.68 次。
  • 有 2,495 个例外的常用字,每一种常用字平均现身 2,812.6陆回,共有七百多万字,占比为 96.12%。
  • 有 918 个例外的次常用字,每个次常用字平均现身 201.捌十八回,共有十九万多字,占比为 2.一半。
  • 有 1,933 个例外的其他汉字,每一种别的汉字平均出现 50.68遍,共有九千0多字,占比为 1.34%。
  • 从不出现的常用字有八个,它们是:菠吨阀涝秒。“吨”和“秒”那四个常用字没有出现很想获得,看来武侠随笔中的重量单位和时间单位有所差异。
  • 从没现身的次常用字有8二个。

上面是总结结果的第叁有些节选:

A: 140,297 [一]  1.92%   1.92%     1
A: 134,824 [不]  1.85%   3.77%     2
A: 122,715 [的]  1.68%   5.45%     3
A: 113,314 [是]  1.55%   7.00%     4
A: 112,686 [了]  1.54%   8.54%     5
A: 111,634 [道]  1.53%  10.07%     6
A:  85,002 [人]  1.16%  11.24%     7
A:  73,912 [他]  1.01%  12.25%     8
A:  69,313 [这]  0.95%  13.20%     9
A:  67,293 [我]  0.92%  14.12%    10
A:  64,498 [来]  0.88%  15.00%    11
A:  61,859 [你]  0.85%  15.85%    12
A:  60,094 [大]  0.82%  16.68%    13
A:  52,611 [在]  0.72%  17.40%    14
A:  51,003 [上]  0.70%  18.09%    15
A:  48,897 [中]  0.67%  18.76%    16
A:  48,494 [得]  0.66%  19.43%    17
A:  48,487 [之]  0.66%  20.09%    18
A:  48,071 [说]  0.66%  20.75%    19
A:  45,481 [下]  0.62%  21.37%    20
...
A:  11,486 [日]  0.16%  49.08%   121
A:  11,373 [走]  0.16%  49.24%   122
C:  11,349 [韦]  0.16%  49.39%   123
A:  11,226 [四]  0.15%  49.55%   124
...
A:   9,457 [白]  0.13%  54.67%   161
B:   9,406 [郭]  0.13%  54.80%   162
A:   9,373 [众]  0.13%  54.93%   163
A:   9,293 [方]  0.13%  55.06%   164
...
C:       1 [龂]  0.00% 100.00% 5,346
End

地点是《金英豪全集》中现身的 5,3肆10个不等汉字按出现的次数降序排列的结果。从中能够看来,在《金铁汉全集》中:

  • 最常用字是“一”字,占比为 1.92%。“的”字降到第①位,占比为 1.68%。
  • 前十二个常用字占比超越七分之一,前二十几个常用字占比当先二成一。
  • 占前 122 位的都是常用字。第 123 位是“韦”字(其余汉字),占比为
    0.16%,这是《鹿鼎记》中主演韦小宝的姓。
  • 次常用字第①回面世于第 162 位,是“郭”字,占比为
    0.13%,那是《射雕大侠传》中主演王世龙的姓。

相比的结果

在 Windows 7 操作系统上编译和平运动作:

D> csc ChineseComparer.cs -r:System.IO.Compression.dll
Microsoft(R) Visual C# 编译器版本 4.0.30319.17929
用于 Microsoft(R) .NET Framework 4.5
版权所有 (C) Microsoft Corporation。保留所有权利。

D> ChineseComparer
常用字(3500个) 国标一级字(3755个)
(126个) 叨蜓筝蜻橘匕丐夭叽吆凫阱芙杈岖鸠沐姊卦拗茉昙肴衩玷茴荞荠盹咧昵咪秕胧奕飒
炫祠荸莺桦唠蚣蚪蚓唧秫麸捺匾蚯蛉啰铐铛笙笤偎徙翎庵涮悴裆谒雳跛锉掰牍腌猬愕鹉蒿榄
楣嗦跷蜈嗤馍禀缤榛榕嘁嘀幔箫漩橄嘹蝠蝌蝙鲫憔翩嬉缭薇噩蟥霎踱蹂蟆螃鹦瘾缰檐檩瞭蟋
蟀朦臊鳄鳍癞璧簸鬓躏
(381个) 皑胺盎敖翱佰稗镑鲍钡苯甭迸毖敝陛卞斌摈炳钵铂箔帛蔡搽诧谗掣郴骋炽踌瞅躇滁
搐椽疵茨蹿瘁淬磋傣殆郸惮迪狄翟滇靛凋迭侗恫犊遁掇剁峨娥厄鄂洱珐藩钒酚汾烽氟涪弗釜
腑阜讣噶嘎赣皋铬庚龚蛊剐圭癸辊骸氦邯郝菏貉阂涸亨弘瑚桓豢磺簧卉烩姬缉汲蓟伎悸笺缄
硷槛饯铰桔睫藉疥靳烬粳痉炯厩咎狙疽咀踞娟撅攫抉浚郡喀咯亢柯侩匡岿奎馈婪阑谰佬镭磊
傈涟撂廖霖拎羚陇掳麓潞禄戮挛孪滦纶嘛谩卯酶镁寐醚幂抿牟氖淖妮霓倪拈啮镍涅哦沤啪琶
磐耪呸裴抨砒琵毗痞瞥粕莆埔曝沏祁讫扦钎仟堑羌蔷橇鞘沁氰邱酋泅龋颧醛炔榷冉壬妊戎茹
孺汝阮鳃莎煽汕缮墒韶邵慑砷娠噬仕孰戍舜朔嗣巳怂擞僳隋绥蓑獭挞酞坍绦锑嚏腆迢眺烃汀
酮湍陀哇烷皖韦惟潍渭挝斡钨吾毋戊硒矽嘻烯汐檄襄霄忻惺墟戌嘘眩绚丫焉阉彦佯疡瑶尧噎
耶曳铱颐沂彝矣臆裔诣翌荫寅尹臃痈雍恿铀酉釉盂虞俞渝禹峪驭垣苑曰郧匝哉札咋詹辗湛漳
瘴肇蛰锗甄砧臻帧峙炙痔诌诛瞩拽篆兹淄孜渍鬃邹纂佐柞

从上述运营结果可以阅览:

  1. 当代中文常用字有3500个,个中常用字2500个,次常用字一千个。
  2. 国家标准一流字有37伍16个。
  3. 三头之差:3755 – 3500 = 255 个。
  4. 当代国语常用字中有126字是国家标准一流字中绝非的,在那之中“叨蜓筝蜻橘”等多少个属于常用字。
  5. 国家标准一流字中有381字是现代国语常用字中尚无的。
  6. 二者之差: 381 – 126 = 2伍16个,与第贰项相符。
  7. 当代国语常用字和国家标准顶级字的插花共有3374字,即:3374 = 3500 – 126 =
    3755 – 381。
  8. 现代国语常用字的 96.4% 都在国家标准一流字中,即:96.4% = 3374 / 3500。
  9. 国家标准一流字的 89.85% 都在现代汉字常用字中,即:89.85% = 3374 / 3755。

四份汉语文本资料的总结结果

上面就是那四份中文文本资料总的总结结果的率先部分:

A: 14,830,693  96.72% | 2,499  35.18% | 5934.65
B:    319,147   2.08% |   992  13.96% |  321.72
C:    184,152   1.20% | 3,613  50.86% |   50.97
T: 15,333,992 100.00% | 7,104 100.00% | 2158.50

(A:1) 涝
(B:8) 泵蓖玖柠柒檩蟥癣

从上述结果能够看看,在那四份汉语文本资料中:

  • T: 合计数
    总共有一千五百多万字,当中只有7000八个不等汉字。每种(不一样的)汉字平均出现2,158.50 次。
  • A: 常用字 有 2,499 个不等的常用字,种种常用字平均出现 5,934.6七次,共有1000四百八十多万字,占比为 96.72%。
  • B: 次常用字 有 992 个不一样的次常用字,各种次常用字平均出现 321.7三遍,共有三十多万字,占比为 2.08%。
  • C: 别的汉字 有 3,613 个不等的此外汉字,各类别的汉字平均现身50.97 次,共有十九万多字,占比为 1.二成。
  • 当代国语常用字总共 2,500 个,上述总结资料中早已面世 2,497个,唯有一个没有出现,那几个字是“涝”。
  • 当代汉语次常用字总共 1,000 个,上述总结资料中一度现身 991个,有多个从未现身,它们是:泵蓖玖柠柒檩蟥癣。

上面是总计结果的第2片段节选:

A: 420,880 [的]  2.74%   2.74%     1
A: 282,859 [一]  1.84%   4.59%     2
A: 270,379 [不]  1.76%   6.35%     3
A: 258,535 [是]  1.69%   8.04%     4
A: 242,943 [了]  1.58%   9.62%     5
A: 177,341 [他]  1.16%  10.78%     6
A: 168,136 [这]  1.10%  11.88%     7
A: 166,771 [人]  1.09%  12.96%     8
A: 146,256 [道]  0.95%  13.92%     9
A: 136,026 [我]  0.89%  14.80%    10
A: 133,268 [在]  0.87%  15.67%    11
A: 122,918 [来]  0.80%  16.48%    12
A: 122,706 [有]  0.80%  17.28%    13
A: 110,303 [大]  0.72%  17.99%    14
A: 107,686 [你]  0.70%  18.70%    15
A: 107,011 [之]  0.70%  19.39%    16
A:  95,034 [上]  0.62%  20.01%    17
A:  89,860 [说]  0.59%  20.60%    18
A:  89,294 [中]  0.58%  21.18%    19
A:  81,480 [个]  0.53%  21.71%    20
...
A:  11,693 [八]  0.08%  64.71%   266
C:  11,642 [韦]  0.08%  64.78%   267
A:  11,629 [未]  0.08%  64.86%   268
A:  11,466 [石]  0.07%  64.94%   269
...
A:   9,701 [完]  0.06%  68.16%   316
A:   9,694 [军]  0.06%  68.22%   317
B:   9,678 [郭]  0.06%  68.29%   318
A:   9,663 [奇]  0.06%  68.35%   319
...
C:       1 [隣]  0.00% 100.00% 7,104
End

地点是范本中冒出的 7,10五个区别汉字按出现的次数降序排列的结果。从中能够观察,在那四份普通话文本资料中:

  • 最常用字是“的”字,出现了四十多万次,占比为 2.74%。
  • 前拾一个常用字占比超过七分一,前二拾个常用字占比超过1/5一。注意,样本中一共有7000七个例外的字。
  • 占前 266 位的都以常用字。第 267 位是“韦”字(别的汉字),占比为
    0.08%,那是《鹿鼎记》中主演韦小宝的姓。
  • 次常用字第2遍出现于第 318 位,是“郭”字,占比为
    0.06%,那是《射雕豪杰传》中主演李学鹏的姓。

参考资料

  1. 中华夏族民共和国语言文字网:
    《现代汉字常用字表》
  2. 博客园:
    随机生成常用汉字
  3. 博客园: 浅谈 ZipArchive
  4. 下载:
    现代汉字常用字表

 

 

 

 

引言

国家语言文字工作委员会和国家庭教育委于一九八六年三月230日颁发了《现代中文常用字表》(共3500字,常用字2500字,次常用字一千字),是从一九二八年至一九八八年的丰裕的范本中展开计算分析后得到的。辽宁南开学学处理器科学系利用计算机抽样总结二百万字的语言材质,检测选收的常用字的使用频率。检查和测试结果是:常用字(2500字)覆盖率达
97.97%,次常用字(一千字)覆盖率达 1.51%,合计(3500字)覆盖率达
99.53%,其他汉字只占 0.伍分叁。

自身从网络上找了下边四份有代表性中文文本资料举行计算分析:

  1. 《周豫山文集》,周树人是华夏现代巨大的教育家。他的著述自个儿基本上只在教材中读过。
  2. 《金英豪全集》,Louis Cha的十五部武侠小说本人都万分喜欢。
  3. 《路遥全集》,路遥的《人生》和《平凡的世界》是自家最欣赏的小说。
  4. 楚天碧心》,互联网写手“雪鸿”宣布于源点普通话网站的玄幻随笔。

《路遥全集》的总结结果

上面是《路遥全集》总结结果的率先局地:

A:  1,310,090  98.28% | 2,476  61.82% |  529.12
B:     16,660   1.25% |   807  20.15% |   20.64
C:      6,286   0.47% |   722  18.03% |    8.71
T:  1,333,036 100.00% | 4,005 100.00% |  332.84

(A:24) 菠钞阀冈蕉晋鞠姥涝滤箩券删沈肾艘艇沃虾佣轧浙脂粥
(B:193) 氨捌蚌焙泵蓖舶渤埠雌崔掸氮缔佃碉谍锭痘兑讹贰筏樊肪枫孵柑肛篙镐羹埂刽亥翰夯沪淮涣宦蝗幌畸妓钾剿酵芥鲸靖玖臼炬骏拷傀莱缆榔酪儡荔吏痢磷菱琉馏卤仑铆檬锰皿闽螟募钠馁镊柠疟鸥潘胚烹彭篷圃柒黔擎蛆蓉叁苫擅赡芍赊恃蜀黍璧鳍鳄髓蟀蟋瞭檩檀谭棠誊鹦螃蹂彤蟥臀鸵薇宛鲫纬蝙蜗蝠诬坞箫嘁榕榛犀铣腺湘淆蟹锌蜈邢楣旭轩癣鹉衙砚鸯牍锉椰掖胰邑肄笙淫啰蛉荧蛹秫蚣桦荸祠鸳袁粤陨秕蚤斋荠樟账玷昙蔗茉疹鸠芙阱凫椎滓匕

从上述结果能够见见,在《路遥全集》中:

  • 一共有一百三十多万字,当中只有5000多个例外汉字。各样(差异的)汉字平均出现332.84 次。
  • 有 2,476 个不等的常用字,每种常用字平均出现 529.十四遍,共有一百三十多万字,占比为 98.28%。
  • 有 807 个分化的次常用字,每一种次常用字平均现身 20.六拾1回,共有10000陆仟多字,占比为 1.四分之一。
  • 有 722 个区别的别的汉字,各样其余汉字平均出现 8.7二回,共有伍仟多字,占比为 0.四分之二。
  • 未曾出现的常用字有二十个,次常用字有一百九15个。

上面是总计结果的第③部分节选:

A:  53,403 [的]  4.01%   4.01%     1
A:  29,519 [一]  2.21%   6.22%     2
A:  26,198 [了]  1.97%   8.19%     3
A:  24,465 [他]  1.84%  10.02%     4
A:  19,876 [不]  1.49%  11.51%     5
A:  18,160 [在]  1.36%  12.87%     6
A:  17,023 [是]  1.28%  14.15%     7
A:  16,881 [这]  1.27%  15.42%     8
A:  14,123 [人]  1.06%  16.48%     9
A:  13,807 [我]  1.04%  17.51%    10
A:  12,996 [个]  0.97%  18.49%    11
A:  12,393 [上]  0.93%  19.42%    12
A:  11,904 [来]  0.89%  20.31%    13
A:  11,072 [地]  0.83%  21.14%    14
A:   9,975 [有]  0.75%  21.89%    15
A:   9,506 [说]  0.71%  22.60%    16
A:   9,383 [里]  0.70%  23.31%    17
A:   9,087 [着]  0.68%  23.99%    18
A:   8,740 [就]  0.66%  24.64%    19
A:   8,728 [她]  0.65%  25.30%    20
...
A:   1,188 [应]  0.09%  65.08%   216
A:   1,181 [并]  0.09%  65.17%   217
B:   1,177 [哩]  0.09%  65.26%   218
A:   1,173 [块]  0.09%  65.34%   219
...
A:     507 [期]  0.04%  80.29%   476
C:     506 [圪]  0.04%  80.33%   477
A:     504 [室]  0.04%  80.37%   478
A:     503 [虽]  0.04%  80.40%   479
...
C:       1 [龋]  0.00% 100.00% 4,005
End

地点是《路遥全集》中出现的 4,00四个分歧汉字按出现的次数降序排列的结果。从中能够看看,在《王郑国全集》中:

  • 最常用字是“的”字,占比为 4.01%。
  • 前十二个常用字占比超越一成七,前十几个常用字占比超越肆分之一。
  • 占前 217 位的都以常用字。第 218 位是“哩”字(次常用字),占比为 0.09%。
  • 其余汉字第②遍面世于第 477 位,是“圪”字,占比为 0.04%。

《楚天碧心》的总括结果

下边中《楚天碧心》总括结果的率先局地:

A:  4,412,214  97.67% | 2,454  57.16% | 1797.97
B:     65,610   1.45% |   824  19.19% |   79.62
C:     39,727   0.88% | 1,015  23.64% |   39.14
T:  4,517,551 100.00% | 4,293 100.00% | 1052.31

(A:46) 袄柏菠锻缎纺溉秆鸽桂贿舰椒饺刊糠炕挎筐葵涝粱萝箩骡馒纽锹侨芹陕肾蔬穗痰倘袜锡宪橡秧氧咏枣橘蜻
(B:176) 癌氨澳捌苞焙泵蓖膘舶渤埠豺橱矗椿囱崔氮碘佃淀碉锭墩囤垛贰筏樊矾肪啡钙柑篙镐蛤汞硅亥焊杭沪淮宦蛔荚钾碱秸玖韭鹃莱缆荔痢哩潦馏瘤赂铝氯玛锚檬娩闽摹牡钠捻聂镊柠疟糯鸥帕硼譬圃浦柒畦黔瘸瓤纫赡芍绅黍栓蟀檩碳棠誊屉鹦蟆蟥鸵薇豌嬉桅苇嘹橄坞箫幔嘁榕榛铣锨舷腺馍芯锌邢匈楣酗癣榄蒿汛鹉蚜堰唁腌谚牍跛姚椰壹胰庵邑肄笤笙铐蛉麸秫唧桦荸袁耘秕蚤荠荞樟茴玷衩蔗茉疹怔姊蛀凫籽

从上述结果能够见见,在《楚天碧心》中:

  • 一起有四百五十多万字,在那之中唯有四千四个例外汉字。各类(不一样的)汉字平均出现1,052.31 次。
  • 有 2,454 个差异的常用字,每种常用字平均出现 1,797.玖拾捌次,共有四百四十多万字,占比为 97.67%。
  • 有 824 个分歧的次常用字,每一个次常用字平均出现 79.65次,共有70000四千多字,占比为 1.四分之一。
  • 有 1,015 个分化的其余汉字,每种别的汉字平均出现 39.1一遍,共有30000八千多字,占比为 0.88%。
  • 从未有过出现的常用字有四二十个,次常用字有一百7五个。

下边是计算结果的第叁有个别节选:

A: 166,809 [的]  3.69%   3.69%     1
A:  96,063 [是]  2.13%   5.82%     2
A:  87,495 [不]  1.94%   7.76%     3
A:  83,978 [了]  1.86%   9.61%     4
A:  73,848 [一]  1.63%  11.25%     5
A:  67,499 [这]  1.49%  12.74%     6
A:  65,606 [他]  1.45%  14.20%     7
A:  46,618 [有]  1.03%  15.23%     8
A:  44,653 [在]  0.99%  16.22%     9
A:  43,715 [人]  0.97%  17.18%    10
A:  40,299 [雪]  0.89%  18.08%    11
A:  40,023 [鹰]  0.89%  18.96%    12
A:  39,194 [之]  0.87%  19.83%    13
A:  38,805 [我]  0.86%  20.69%    14
A:  35,761 [你]  0.79%  21.48%    15
A:  35,165 [们]  0.78%  22.26%    16
A:  35,142 [天]  0.78%  23.04%    17
A:  35,135 [来]  0.78%  23.81%    18
A:  31,036 [大]  0.69%  24.50%    19
A:  30,506 [个]  0.68%  25.18%    20
...
A:   5,780 [却]  0.13%  61.85%   156
A:   5,762 [重]  0.13%  61.98%   157
C:   5,759 [冥]  0.13%  62.11%   158
A:   5,656 [正]  0.13%  62.23%   159
...
A:   2,889 [甲]  0.06%  75.28%   307
A:   2,885 [未]  0.06%  75.34%   308
B:   2,883 [幽]  0.06%  75.41%   309
A:   2,882 [佛]  0.06%  75.47%   310
...
C:       1 [龉]  0.00% 100.00% 4,293
End

下边是《楚天碧心》中冒出的 4,2九十三个例外汉字按出现的次数降序排列的结果。从中能够看来,在《楚天碧心》中:

  • 最常用字是“的”字,占比为 3.69%。
  • 前1二个常用字占比超越10%七,前20个常用字占比超越四分一。
  • 占前 157 位的都以常用字。第 158 位是“冥”字(其余汉字),占比为 0.13%。
  • 次常用字第①遍面世于第 309 位,是“幽”字,占比为 0.06%。

用来计算的 C# 源程序

下边正是相应的 C# 源程序 ChineseCounter.cs:

  1 using System;
  2 using System.IO;
  3 using System.Collections.Generic;
  4 
  5 namespace Skyiv.Utils
  6 {
  7   // 对中文文本进行统计分析,主要统计其中常用字和次常用字的占比。
  8   sealed class ChineseCounter
  9   {
 10     static readonly string Skiped =
 11       "" +
 12       " 、,。.·?!:;…-─~—_|丨Ⅰ∶※★●℃°“”‘’《》[]〔〕()<>〈〉【】〖〗□" +
 13       "㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩①②③④⑤⑥⑦⑧⑨⑩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇" +
 14       "ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒚⒛" +
 15       "1234567890=+-×÷/%ⅢⅡ≈⊥′āáǎàéěèōóǒü" + // ○
 16       " 1234567890=+-*/%{}[]()<>?!@#$^&_:;',.`~|\"\\" +
 17       "ABCDEFGHIJKLMNOPQRSTUVWXYZ" +
 18       "abcdefghijklmnopqrstuvwxyz" +
 19       "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
 20     static readonly string Group = "ABCT"; // A:常用字 B:次常用字 C:其他 T:合计
 21     static readonly HashSet<char> A, B;    // A:常用字(2500字) B:次常用字(1000字)
 22     
 23     Dictionary<char, int> charCount = new Dictionary<char, int>();
 24     
 25     static ChineseCounter()
 26     {
 27       A = new HashSet<char>(new RandomChinese(RandomChinese.Source.From2500).GetSource());
 28       B = new HashSet<char>(new RandomChinese(RandomChinese.Source.From3500).GetSource());
 29       B.ExceptWith(A); // 次常用字(1000字) = 现代汉语常用字(3500字) - 常用字(2500字)
 30     }
 31     
 32     // 读取中文文本的内容,计算每个汉字出现的次数
 33     void Read(string fileName)
 34     {
 35       foreach (var line in File.ReadLines(fileName))
 36         foreach (var c in line)
 37         {
 38           int count;
 39           charCount.TryGetValue(c, out count);
 40           charCount[c] = count + 1;
 41         }
 42     }
 43     
 44     // 计算统计资料中常用字和次常用字出现的次数
 45     int[,] GetGroups()
 46     {
 47       var groups = new int[4, 2]; // 0:常用字 1:次常用字 2:其他 3:合计,  0:Distinct 1:Count
 48       foreach (var kvp in charCount)
 49       {
 50         var k = GetGroupIndex(kvp.Key);
 51         groups[k, 0]++;
 52         groups[3, 0]++;
 53         groups[k, 1] += kvp.Value;
 54         groups[3, 1] += kvp.Value;
 55       }
 56       return groups;
 57     }
 58     
 59     // 将统计资料中的汉字按其出现的次数降序排序
 60     Tuple<int, char>[] GetItems()
 61     {
 62       var items = new Tuple<int, char>[charCount.Count]; // Item1:count Item2:char
 63       var i = 0;
 64       foreach (var kvp in charCount) items[i++] = Tuple.Create(-kvp.Value, kvp.Key);
 65       Array.Sort(items);
 66       return items;
 67     }
 68     
 69     // 报告统计资料中常用字和次常用字的占比等分析数据
 70     void Report(int[,] groups)
 71     {
 72       for (var i = 0; i < groups.GetLength(0); i++)
 73         Console.WriteLine("{5}: {0,10:N0} {1,7:P} | {2,5:N0} {3,7:P} | {4,7:F2}",
 74           groups[i, 1], groups[i, 1] / (double)groups[3, 1],
 75           groups[i, 0], groups[i, 0] / (double)groups[3, 0],
 76           groups[i, 1] / (double)groups[i, 0], Group[i]);
 77       Console.WriteLine();
 78     }
 79     
 80     // 报告没有在统计资料中出现的常用字和次常用字
 81     void Report(HashSet<char> set, int idx)
 82     {
 83       var set2 = new HashSet<char>(set);
 84       set2.ExceptWith(charCount.Keys);
 85       Console.Write("({0}:{1}) ", Group[idx], set2.Count);
 86       foreach (var c in set2) Console.Write(c);
 87       Console.WriteLine();
 88     }
 89     
 90     // 报告统计资料中每个的汉字的出现次数(降序)及占比
 91     void Report(Tuple<int, char>[] items, double total)
 92     {
 93       Console.WriteLine();
 94       for (int sum = 0, i = 0; i < items.Length; i++)
 95         Console.WriteLine("{0}: {1,7:N0} [{2}] {3,6:P} {4,7:P} {5,5:N0}",
 96           Group[GetGroupIndex(items[i].Item2)], -items[i].Item1, items[i].Item2,
 97           -items[i].Item1 / total, (sum += -items[i].Item1) / total, i + 1);
 98       Console.WriteLine("End");
 99     }
100 
101     // 将汉字分配到以下三组中: 0:常用字 1:次常用字 2:其他汉字
102     int GetGroupIndex(char c)
103     {
104       return (A.Contains(c)) ? 0 : (B.Contains(c)) ? 1 : 2;
105     }
106     
107     void Run(string[] fileNames)
108     {
109       foreach (var fileName in fileNames) Read(fileName);
110       foreach (var c in Skiped) charCount.Remove(c);
111       var groups = GetGroups();
112       Report(groups); // 报告统计资料中常用字和次常用字的占比
113       Report(A, 0);   // 报告没有在统计资料中出现的常用字
114       Report(B, 1);   // 报告没有在统计资料中出现的次常用字
115       Report(GetItems(), groups[3, 1]); // groups[3, 1]: 总字数
116     }
117 
118     static void Main(string[] args)
119     {
120       new ChineseCounter().Run(args);
121     }
122   }
123 }

上述顺序中早就有了适宜的申明,现简要分析如下:

  • 第9至19行定义的静态只读字符串 Skiped
    用于破除总括资料中的非汉字字符。要留心的是,由于是从互联网中获取数据,品质不是很好,文本中稍微乱码,会造成一定的干扰。有个别苦恼能够经过
    Skiped 排除。
  • 第一5至30行的静态构造函数初阶化 2500 个常用字和 1000个次常用字到对应的汇集中,以供前边计算分析应用。
  • 第二2至42行的 Read
    方法从中文文本中读取数据。能够在命令行钦点三个文件文件,一并读取。文本文件必须采用UTF-8 编码。
  • 第柒7至116行的 Run
    方法总控程序的运营,依次读取数据、排除非汉字字符、举办计算分析、报告总计结果。