哪位高手知道:汉字转换成UNICODE,以及UNICODE转换成汉语拼音的方法

fyje 2001-09-20 12:28:27
多谢
...全文
377 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyqof908 2002-05-29
  • 打赏
  • 举报
回复
去http://ygyuan.3322.net/下载拼音控件。

软件名称 版本 上传日期 下载次数 软件大小 评分

★ 袁飞汉字拼音互查控件 1.2 版 2002-5-15 20:44:04 38 185.80 K(包含演示程序)
袁飞汉字拼音互查控件 1.2 版!
新增功能:
1、添加取汉字之“常用拼音”功能。
2、添加取汉字之“拼音首码”功能。
3、改进算法,大大压缩身躯!(1.0 版控件为2.78M, 1.2 版仅 428K)

软件性质: 免费

guipei 2001-09-25
  • 打赏
  • 举报
回复
gz
Crob 2001-09-25
  • 打赏
  • 举报
回复
fyje(冬原)的程序是抄的,居然还写"//这个函数拿去用(我刚写好,已测试通过)"

这个返回汉字拼音头一位的程序我早就有了,从哪来的忘了。绝对不是他刚写好的!!!!!!

偶看不过去~~~~~~~~~~~~~~~~~~~~
Kingron 2001-09-22
  • 打赏
  • 举报
回复
>>汉字转换成拼音
超级猛料里面照样有!!!!!!!!前提是系统中必须有M$的拼音输入法即可。
newyj 2001-09-21
  • 打赏
  • 举报
回复
程序是抄的
newyj 2001-09-20
  • 打赏
  • 举报
回复
转载自 超级猛料

function GB2Unicode(GB:string):string;
var
s: string;
i, j, k: integer;
a: array [1..1000] of char;
begin
s:='';
StringToWideChar(GB, @(a[1]), 500);
i:=1;
while ((a[i]<>#0) or (a[i+1]<>#0)) do begin
j:=Integer(a[i]); k:=Integer(a[i+1]);
s:=s+Copy(Format('%X ',[k*$100+j+$10000]) ,2,4);
i:=i+2;
end;
Result:=s;
end;


在数据库输入中,怎样使"中文名称"输入翻译成"简码"存入另一字段?以便以后查询使用?
如:
"工资处"译成"GZC"


//这个函数拿去用(我刚写好,已测试通过)
function GetHzPy(const AHzStr: string): string;
const
ChinaCode: array[0..25, 0..1] of Integer = ((1601, 1636), (1637, 1832), (1833, 2077),
(2078, 2273), (2274, 2301), (2302, 2432), (2433, 2593), (2594, 2786), (9999, 0000),
(2787, 3105), (3106, 3211), (3212, 3471), (3472, 3634), (3635, 3722), (3723, 3729),
(3730, 3857), (3858, 4026), (4027, 4085), (4086, 4389), (4390, 4557), (9999, 0000),
(9999, 0000), (4558, 4683), (4684, 4924), (4925, 5248), (5249, 5589));
var
i, j, HzOrd: integer;
Hz: string[2];
begin
i := 1;
while i <= Length(AHzStr) do
begin
if (AHzStr[i] >= #160) and (AHzStr[i + 1] >= #160) then
begin
HzOrd := (Ord(AHzStr[i]) - 160) * 100 + Ord(AHzStr[i + 1]) - 160;
for j := 0 to 25 do
begin
if (HzOrd >= ChinaCode[j][0]) and (HzOrd <= ChinaCode[j][1]) then
begin
Result := Result + char(byte('A') + j);
break;
end;
end;
Inc(i);
end else Result := Result + AHzStr[i];
Inc(i);
end;
end;

///////////////////////////////////////
这个函数用户识别单独汉字的简码 字符串的简码函数请自行制作
function GetPYIndexChar(hzchar:string):char;
begin
case WORD(hzchar[1]) shl 8 + WORD(hzchar[2]) of
$B0A1..$B0C4 : result := 'A';
$B0C5..$B2C0 : result := 'B';
$B2C1..$B4ED : result := 'C';
$B4EE..$B6E9 : result := 'D';
$B6EA..$B7A1 : result := 'E';
$B7A2..$B8C0 : result := 'F';
$B8C1..$B9FD : result := 'G';
$B9FE..$BBF6 : result := 'H';
$BBF7..$BFA5 : result := 'J';
$BFA6..$C0AB : result := 'K';
$C0AC..$C2E7 : result := 'L';
$C2E8..$C4C2 : result := 'M';
$C4C3..$C5B5 : result := 'N';
$C5B6..$C5BD : result := 'O';
$C5BE..$C6D9 : result := 'P';
$C6DA..$C8BA : result := 'Q';
$C8BB..$C8F5 : result := 'R';
$C8F6..$CBF9 : result := 'S';
$CBFA..$CDD9 : result := 'T';
$CDDA..$CEF3 : result := 'W';
$CEF4..$D188 : result := 'X';
$D1B9..$D4D0 : result := 'Y';
$D4D1..$D7F9 : result := 'Z';
else
result := char(0);
end;
end;
fyje 2001-09-20
  • 打赏
  • 举报
回复
请各位帮忙
fyje 2001-09-20
  • 打赏
  • 举报
回复
谢谢newyj(方恨少;寻找第二把刷子的人),但是汉字转换成拼音,我需要的不是汉字转换成拼音的首字符,而是全部拼音,如:方很少-->Fang Hen Shao,请帮助解决
wave_calmly 2001-09-20
  • 打赏
  • 举报
回复
有没有对多音字的解决办法?

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧