找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 6742|回复: 2

[开源] 取汉字的机内码、UniCode码

[复制链接]

1214

主题

352

回帖

11

精华

管理员

菜鸟

积分
93755

贡献奖关注奖人气王精英奖乐于助人勋章

发表于 2011-12-21 15:03:02 | 显示全部楼层 |阅读模式
  1. //机内码 -> 汉字
  2. Function MacCode2Chinese(AiUniCode : Integer) : String;
  3. Var
  4. ch, cl : Integer;
  5. Begin
  6.   ch := AiUniCode Div 256;
  7.   cl := AiUniCode Mod 256;
  8.   Result := Chr(ch) + Chr(cl);
  9. end;

  10. //汉字 -> 机内码
  11. Function Chinese2MacCode(AiChinese : String) : Integer;
  12. Var
  13. ch, cl : Integer;
  14. Begin
  15.   ch := Ord(AiChinese[1]);
  16.   cl := Ord(AiChinese[2]);
  17.   Result := (ch shl 8) + cl;
  18. end;

  19. //UniCode -> 汉字
  20. Function UniCode2Chinese(AiUniCode : Integer) : String;
  21. Var
  22. ch, cl : String[3];
  23. s : String;
  24. Begin
  25.   s := IntToHex(AiUniCode, 2);
  26.   cl := '$' + Copy(s, 1, 2);
  27.   ch := '$' + Copy(s, 3, 2);
  28.   s := Chr(StrToInt(ch)) + Chr(StrToInt(cl)) + #0;
  29.   Result := WideCharToString(pWideChar(s));
  30. end;

  31. //汉字 -> UniCode
  32. Function Chinese2UniCode(AiChinese : String) : Integer;
  33. Var
  34. ch, cl : String[2];
  35. a : array [1..2] of char;
  36. Begin
  37.   StringToWideChar(Copy(AiChinese, 1, 2), @(a[1]), 2);
  38.   ch := IntToHex(Integer(a[2]), 2);
  39.   cl := IntToHex(Integer(a[1]), 2);
  40.   Result := StrToInt('$' + ch + cl);
  41. end;
复制代码
【VB】QQ群:1422505加的请打上VB好友
【易语言】QQ群:9531809  或 177048
【FOXPRO】QQ群:6580324  或 33659603
【C/C++/VC】QQ群:3777552
【NiceBasic】QQ群:3703755

9

主题

117

回帖

0

精华

银牌会员

积分
422
发表于 2011-12-22 00:25:09 | 显示全部楼层
{:soso_e142:}虽然看不懂 但是支持一下.!!!

30

主题

693

回帖

0

精华

钻石会员

积分
2815
发表于 2015-3-31 16:51:20 | 显示全部楼层
汉字内码 学习一下
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表