Delphi单元文件之-简体繁体互转

简介: Function GBCht2Chs(GBStr: String): AnsiString; {GBK繁体转简体}Var  len:integer;  pGBCHTChar: PChar;  pGBCHSChar: PChar;Begin  pGBC...

Function GBCht2Chs(GBStr: String): AnsiString; {GBK繁体转简体}
Var
  len:integer;
  pGBCHTChar: PChar;
  pGBCHSChar: PChar;
Begin
  pGBCHTChar := PChar(GBStr);
  Len := SizeOf(pGBCHTChar);
  GetMem(pGBCHSChar, Len  + 1);
  ZeroMemory(pGBCHSChar, Len  + 1);

  //GB CHS -> GB CHT
  LCMapString($804, LCMAP_SIMPLIFIED_CHINESE, pGBCHTChar, -1, pGBCHSChar, 2147483647 );

  Result := String(pGBCHSChar);
  FreeMem(pGBCHSChar);
End;

//----------------------------------------------

procedure TForm1.Button1Click(Sender: TObject);
begin
  Memo2.Text := GBCht2Chs( Memo1.Text );
end;


unit BIG5TOGB;
interface

uses
Windows;

function GBCht2Chs(GBStr: string): AnsiString;
function GBChs2Cht(GBStr: string): AnsiString;

implementation

function GBCht2Chs(GBStr: string): AnsiString;
{进行GBK繁体转简体}
var
Len: integer;
pGBCHTChar: PChar;
pGBCHSChar: PChar;
begin
pGBCHTChar := PChar(GBStr);
Len := MultiByteToWideChar(936, 0, pGBCHTChar, -1, nil, 0);
GetMem(pGBCHSChar, Len * 2 + 1);
ZeroMemory(pGBCHSChar, Len * 2 + 1);
//GB CHS -> GB CHT
LCMapString($804, LCMAP_SIMPLIFIED_CHINESE, pGBCHTChar, -1, pGBCHSChar, Len * 2);
result := string(pGBCHSChar);
//FreeMem(pGBCHTChar);
FreeMem(pGBCHSChar);
end;

function GBChs2Cht(GBStr: string): AnsiString;
{进行GBK简体转繁体}
var
Len: integer;
pGBCHTChar: PChar;
pGBCHSChar: PChar;
begin
pGBCHSChar := PChar(GBStr);
Len := MultiByteToWideChar(936, 0, pGBCHSChar, -1, nil, 0);
GetMem(pGBCHTChar, Len * 2 + 1);
ZeroMemory(pGBCHTChar, Len * 2 + 1);
//GB CHS -> GB CHT
LCMapString($804, LCMAP_TRADITIONAL_CHINESE, pGBCHSChar, -1, pGBCHTChar, Len * 2);
result := string(pGBCHTChar);
FreeMem(pGBCHTChar);
//FreeMem(pGBCHSChar);
end;
end.

相关文章
|
存储 安全 数据安全/隐私保护
VMware16安装Win11虚拟机(最全步骤+踩坑)
VMware16安装Win11虚拟机(最全步骤+踩坑)
10817 0
VMware16安装Win11虚拟机(最全步骤+踩坑)
|
算法 计算机视觉 网络架构
YOLOv7 | 模型结构与正负样本分配解析
YOLOv7 | 模型结构与正负样本分配解析
2021 0
YOLOv7 | 模型结构与正负样本分配解析
|
Docker 容器
『Skywalking』在Docker中快速部署Skywalking
📣读完这篇文章里你能收获到 - 在Docker中快速部署Skywalking
3919 4
『Skywalking』在Docker中快速部署Skywalking
|
Web App开发 Java 测试技术
新的开始 | Arthas GitHub Star 破万后的回顾和展望
一切新的开始,都始于一个里程碑。 2月20日上午,Java 开源诊断工具 Arthas 的 GitHub Star 突破10000,距离开源后的第一个Release 版发布仅 147 天。 从中,我们不仅看到 Arthas 在开发者群体中的受欢迎程度,也发现越来越多的国内开发者开始擅于使用开源技术加速业务发展,更是不禁畅想起将来会有更多国内的优质开源项目获得全球开发者的关注和喜爱。
17329 87
|
监控 负载均衡 网络协议
Keepalived的原理和web服务高可用实践
Keepalived的原理和web服务高可用实践
Keepalived的原理和web服务高可用实践
|
安全 数据库 虚拟化
使用无影云桌面的优势和限制之处
随便聊聊对于无影云桌面使用的感受和一些个人的看法,希望无影云桌面发展越来越好,对于我们这些敲键盘的人有更大的帮助。
37209 6
使用无影云桌面的优势和限制之处
|
域名解析 弹性计算 数据可视化
|
小程序 前端开发 JavaScript
微信小程序--》条件与列表渲染以及WXSS模板样式
⚓经过web前端开发的学习,相信大家对于前端开发有了一定深入的了解,今天我开设了微信小程序,主要想从移动端开发方向进一步发展,而对于我来说写移动端博文的第一站就是小程序开发,希望看到我文章的朋友能对你有所帮助。
483 0
微信小程序--》条件与列表渲染以及WXSS模板样式