下载 >  开发技术 >  Delphi > 最完整的“汉字-->拼音声母”处理pas单元(Delphi) 2010年12月最新修正版
3分

最完整的“汉字-->拼音声母”处理pas单元(Delphi) 2010年12月最新修正版

{*******************************************************} { 汉字-->拼音声母处理 } { Developed by cyw(QQ: 26890954) } { 2010.1.16 All Right Reserved. } {*******************************************************} 本人免费维护本单元,若使用过程中发现问题,请QQ联系,谢谢! 注意:本单元基于Delphi7开发,支持Delphi7-2007,暂不支持Delphi2009-XE!等我以后有空处理Unicode字符串后,才能支持。 { 一、特点: 1、支持多音字,支持所有中国汉字(共20336个),包括难字、僻字、广东白话字、繁体字等所有计算机能显示的全部汉字。 例如:镕、啱、揾、叻、嘅、咁、門、長、發財、車、冇乜嘢。 二、实现原理: 1、根据汉字的常用程度不同,划分了五个等级。一个汉字两个字节 ,按照汉字编码规则,第一字节为区码(纵向),第二字节为位码(横向), 第一字节的范围是129-254,共126种,其中161-175段存放各种标点符号,254段为无效汉字,真正有效段为129-160,176-253,共110种。 第二字节的范围是64-254,其中127段为分隔符,不存在任何内容,真正有效段为64-126,128-254,共190种。 从常用程度来分级,一级汉字(区176-215,位161-254),二级汉字(区216-247,位161-254),三级汉字(区129-160,位161-254), 四级汉字(区129-160,位64-160[127除外]),五级汉字(区176-253,位64-160[127除外])。 2、按以上规则可生成五级的中国汉字字库,每个区码一行,每个位码一列。 3、对中国汉字字库中的每个汉字,扫描从互联网下载的较完整的<GBK汉字各种编码汇总.xls>拼音字库,找到每个汉字的全拼拼音(包括多音,一个汉字最多3种读音),并获取每个读音的声母(首字母), 生成汉字声母字典文件。 4、把声母字典文件中每个汉字的声母,按汉字字库的区位规则全部串在一起,由于一个汉字最多3种读音(有4种以上读音的仅有"竓qfzygs, 竕sfzyg, 竡ygsb"三个生僻字, 仅取前三个读音), 为每个汉字预留3个字节空间,生成汉字声母表,如本单元所定义的LevelTable1..LevelTable5常量。 5、查找原理:要查找一个汉字在声母表中的对应位置,应使用以下公式计算得: 汉字声母索引 = ((汉字区码 - 级别起始区码) * 位码长度 + 汉字位码 - 级别起始位码) * 3 + 1; //其中3表示每个汉字预留的3个字节空间 如汉字“啊”,其区位码分别是(176,161),根据上述第1点所定义,属于一级汉字,理应在常量LevelTable1中查找, 由于一级汉字的位码范围是161-254,横向长度是94,即一行(一个区)有94个汉字,所以“啊”在LevelTable1中的位置应该是: ((176-176) * 94 + 161 - 161) * 3 + 1 = 1,即LevelTable1[1] = 'ae '; 三、更新历史: 1、10.9.8 由于全拼输入法的拼音库太过全面,有部分多音字的第一个拼音却不是常用的拼音,导致汉字转声母有时不准确, 决定抛弃全拼输入法的拼音库,改为采用从互联网下载的较完整的<GBK汉字各种编码汇总.xls>拼音字库,重新生成汉字声母表。 2、10.12.27 上一次更新时是在Excel中编辑<GBK汉字各种编码汇总.xls>文件的,在Excel内替换右括号")"为空时,"Jun1)"替换后会变成"1-Jun", Excel的奇怪现象,导致"军"字的声母变成数字"1",类似的情况还有很多。本次更新全面修正此类问题,并且经检测发现99.9%以上的 多音字最多只有三个读音,仅"竓qfzygs, 竕sfzyg, 竡ygsb"三个生僻字有4种以上读音, 故声母表全部由4个字节改为预留3个字节, 上述三个僻字仅截取前三个读音的声母。 } ======== 积分说明 ========= 请下载后评论,在评论时点击四星或五星,积分会全额还给你,而且系统还会给你再加1分。 ========================== ...展开详情收缩
2010-12-27 上传大小:19KB
立即下载 开通VIP
分享
收藏 (1) 举报

评论共有5条

Revit来也 2016-05-17 17:23:26
为什么我编译的时候报错? 错误:Too many local constants, Use shorter procedures.
asdwu 2013-10-25 10:52:33
可惜,不能处理多音字
sui_yuan_zhe 2012-08-28 13:33:52
我编译的时候也报错了,不过里面的思想还是值得借鉴的
 
关闭
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
点击完成任务获取下载码
输入下载码
为了良好体验,不建议使用迅雷下载
img

最完整的“汉字-->拼音声母”处理pas单元(Delphi) 2010年12月最新修正版

会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
为了良好体验,不建议使用迅雷下载
VIP和C币套餐优惠
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载
无法举报自己的资源

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

若举报审核通过,可返还被扣除的积分

  • 举报人:
  • 被举报人:
  • *类型:
    • *投诉人姓名:
    • *投诉人联系方式:
    • *版权证明:
  • *详细原因: