汉字笔画教学控件开发-存储文件结构

问题分析

       目前作为存储信息的虚拟介质多种多样,像OracleSQL serverAcessMySql等数据库系统,像XMLSMLGML等的标准化存储文件,均可以作为虚拟存储介质来使用,接下来就分析下目前需要的虚拟存储介质要有什么特性:

1、  数据量巨大。在计算机的世界中,汉字均存储Unicode码,目前汉字的Unicode码的范围在4E00~9FFF,即19968~40959,也就是说,计算机中存储的汉字有20992个,所以数据量巨大。

2、  无依赖性。根据需求,所需的虚拟存储介质必须要对外界无依赖性,甚至连文本编辑器都可以不要,只需要一个可以读写的存储介质即可。

3、  效率快。因为在第一点中已经提到数据量的问题,所以效率也就必须得不关注一下,将其考虑在内。

OracleSQL serverAcessMySql等数据库系统对计算机或软件都有一定的依赖性,因此不能使用,而像XMLSMLGML等的标准化存储文件则需要制定存储规则,麻烦,另外不适合用这类文件来存储数据量大的信息,最后一点的效率问题让我想到了计算机原始的二进制,计算机处理二进制要比处理编程语言要快多了,而且二进制文件不依赖于外界,满足第二个特性,且在数据量的存储上在此项目中适用,所以这里使用二进制文件来存储数据。

文件存储格式

       二进制文件

存储格式示意图

0000000000000000    00000000       00000000    ……   00000000

 


汉字对应Unicode      1笔对应路径序号  2笔对应路径序号         100笔对应路径序号

存储格式说明

       16位代表的是汉字对应的Unicode码,在存储中增量为1。在接下来的第一个8位存储的是汉字的第一笔对应的子路径序号,第二个8位存储的是汉字的第二笔对应的子路径序号,总共存储100笔,若汉字的笔画数少于100,则在大于笔画数位置的值均为00000000,若Unicode码没有对应的汉字,则笔画部分的所有位均为0

至于为什么要存储100笔,主要有2方面的原因

1、           因为目前汉字的总笔画数不同,有的多有的少,目前最多笔画数的字为 ,共有84笔,但以后可能有更多笔画数的字会出现,所以将笔画数扩展到100

2、           为了方便与查找目标汉字,若不定制规范的规则则将很难实现,因此统一将所有字的笔画位都设为100*8

实现可行性

       1100可存储目前的所有汉字。

       2、每个汉字占用816位,总存储20992个汉字,所以最后可以算出文件的大小为(16+100*8*20992=17129472Bit=2141184Byte=2091KB 也就是2点多M,存储所有的信息占用的空间很小。

3、在查找效率方面,因为位置都是固定的,所以可以通过规则来进行查找。例如:一个“夏”对应的Unicode码为590F,则直接查找第(590F-4E00*16+100*8)位到((590F-4E00+1*16+100*8-1位即可获得“夏”对应的数据。

总结

       使用二进制文件满足所需要求,可以在实践中使用。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
中华字典项目是一个Android实战开发的应用程序,旨在为用户提供方便快捷地查询汉字的功能。 该应用程序的功能主要包括以下几个方面: 1. 汉字查询:用户可以通过输入汉字,快速查询其字义、读音以及常见的组词用法。应用程序通过与后台数据库的交互,实现了快速的查询,用户可以随时随地进行汉字的查询,提高了用户的查询效率。 2. 汉字笔顺查询:用户可以通过输入汉字,查询该汉字笔画顺序以及笔画的书写方式。应用程序提供了清晰的笔画图示,并配有文字说明,帮助用户正确书写汉字。 3. 汉字造字规律查询:用户可以通过输入汉字,查询该汉字的造字规律。应用程序通过对大量的汉字进行分析,提供了汉字的起源、演变以及构造规律的解读,让用户更加深入地了解汉字的形成过程。 4. 常用词汇查询:用户可以通过输入拼音或者汉字,查询常用词汇的意思和用法。应用程序提供了大量的常用词汇,包括生活、工作、学习等方面的词汇,帮助用户扩展词汇量,提高语言表达能力。 该应用程序的界面简洁明了,操作方便,用户可以根据需要自主选择查询功能。同时,该应用程序还支持收藏功能,用户可以将常用的查询结果收藏起来,方便快速查阅。 总之,中华字典项目是一个功能丰富、实用性强的Android应用程序,为用户提供了便捷、全面的汉字查询功能,帮助用户更好地了解和掌握汉字

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值