汉字取内码.区位码及拼音简码源代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汉字取内码.区位码及拼音简码源代码
汉字内取、码位区码拼及音码简源码代汉字
取码、内区码及位音简码拼
.本版2
.
子程序取字汉内码, 文型本, 开公
.参待数汉字查 ,文型本
局部.变量字高节整,型
数.部变局低字节,量整型数
局部.量变内, 文本码
'型代源中的“码字高”和“节字节”可低直以用字接节数据型而不用,数型整这,样不就用“位与”运算做了。
高节=字与位 (取码代(待汉查字 ,1, )25)5
低字=位节与(取码代(待汉字, 2)查 ,55)2内码
=取六十制进本文高(字) +节取十六制文进本 (低字节)
返回( 码内)
.子序程取字区汉位,码文型, 本公
.开参数待查字,汉本文型
局.变部量高字 ,节数型
.整部局变量低节字,整数
型.部局变量内码, 文本
.型部局量区码, 变数型整
.局部量变码位,整数型
局部变量区位码. 文本,
型
字高节位= (取代码与待(查汉, 1字, 255))低字
节位= (与取代 (待码查汉字, 2, )255
)码=取内十六制进本文高(节)字+取六进十制文本低字节()
码区=高节字-160
码位=低字节- 1 06
区码=位到本文(区码×10 +0 码位)
返回(区位码)
子程序取汉.字音拼码简文本,,型公 , 开GB28取2-18一级0字汉库拼音简字码.参数待
汉查字, 文型
本.部变局高字节量,整数型
.局部量变低节字, 数型整
局部.量内变码 ,文本型
.局部变量区码, 整数型
.局部量变位码 ,整型
.局数变量部位码区, 整数型
字高节=与 (取代码位待(查汉字 ,1,)2 5)5
字节低=位与( 代取码(查待字,汉2 ), 525)
码内=十六取制文进 (高字本节 ) +十六进制取本 (文低字节
)码=区高字节-1 0
位码=6 低字节- 16
0区位码=区码1×0 +0位码
.判断开始(位码区1≥061 且位码区1≤63)
6回返(A”)“
.判断(位区码≥637 1且区位码≤ 1 38)2返回
“B”().判
(区位码≥断 813 且区位3码≤2707)回返(“ ”C)
.判 (断区码位≥ 278 且区位0码≤ 223)7回返( D“”)
.断判( 位码≥ 区272 且 4区位码≤ 302)1回返( “”E)
.断判(位区码≥2 02 且3 位码区≤432)返2 (“F回)”.
判断(区位码≥2343 且区码位≤ 2 53)9返
回(G”)“
.判断 (位区码≥ 529 且4区位≤码 7862)返回(“H” )
判. (断区码位≥ 2787 且区位码≤310 5
)返回( J“)”
判断 (.区位码≥3 106且位码≤区 211)
返回3( K“)”.
断 (区判码位≥321 2 且区码位≤ 3 74)1返
回(L”)“
.断判(区位≥ 3472 码区且位码≤ 3 36)4返回“M”)(.
判断(区位码≥ 635 且区位码3≤ 3721)返回“(”N)
.判 (断区码位≥ 732 且 2区位码3≤729)回返“O(
”)
.判断( 区位码≥ 730 3 且区位码3≤57)
8回(“返”)P
判. 断(区码位385≥ 且8区位码≤ 4 20)6
返回(“”)Q.
判断(区位≥码4 207 区且码位≤408 5)返
回(“”R)
判断. 区位( 码4≥08 且6 位码区≤4 83)
9回返“(”S
.)断判区(码位≥ 4 930且区位码≤5574)返回(“”)T.
判断区位( 码4≥558且区码位≤ 4836)返回
(W“”).
断 (判位码区≥4 846且区位≤码 9244)返回
( “”X
.判断) 区(位码≥429 5且位码≤区5 482)返回(Y“)”
.断 (区判位码5249≥且位码区≤ 5598)返回(Z”“)
默.认
回(“返范围”出)
.判断束结
具体
践代实,以码码为例
内p
buicls atic tsritn getCodstGirgn(stinrgUn Nae)m
{i
t in 0;=
suorth ek = y;0st
irn sgrResultt= trins.Emgpt;y
//建两个不同的en创cdongi象
对Econidgnu inodc =e Ecnoidgn.Uicodn;
//e建GBK码对创象
Ecodinn gbkg E=ncding.oGetnEcoindg(96);3//将
nucoide符字转串换为节字
yteb[]uni ocdeByest= uinoce.GdtBytee(UnNsma);e
//再转化为GB码Kby
t[e gb]Bytes =k Enocdngi.onCert(vniuoced,g kb ,uncoiedBtyes; )wihel(
{/如/果为数\字字\母他AS其ICI符
号fi( gbkytBs[ei]
s
rtesRul = ttrResslt +u(ch r)agbkyBtes[]i;
++i;
}#
rgieo 否则生成汉字n音拼码简取,拼首字音母els
e{
key= (shourt(g)kBbyte[i] s* 562+ bgkBtyesi + 1][;)
f ik(ye = >'\u0AB'1 && ky e=
{'