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.

相关文章
|
5月前
|
Java
Unicode编码和中文互转(JAVA实现)
Unicode编码和中文互转(JAVA实现)
209 1
|
4月前
|
自然语言处理 Android开发 Windows
文本----搜狗如何使用日语输入法,日本本土使用人数最多输入法Simeji Japanese Input + Emoji,Windows10如何添加日语输入法,Windows + 空格选择语言,谷歌公
文本----搜狗如何使用日语输入法,日本本土使用人数最多输入法Simeji Japanese Input + Emoji,Windows10如何添加日语输入法,Windows + 空格选择语言,谷歌公
|
Java 机器人 Windows
【IntelliJ IDEA】UTF-8编码下\u7528\u6237转换为中文汉字,\u9489\u9489\u81EA\u5B9A\u4E49\(Unicode字符与中文的相互转化)
【IntelliJ IDEA】UTF-8编码下\u7528\u6237转换为中文汉字,\u9489\u9489\u81EA\u5B9A\u4E49\(Unicode字符与中文的相互转化)
911 0
|
Python
Python编程:sublime打开中文文本乱码
Python编程:sublime打开中文文本乱码
127 0
Python编程:sublime打开中文文本乱码
|
JavaScript
unicode转中文的工具
unicode转中文的工具
332 0
unicode转中文的工具
|
JavaScript Python Java
在Office的VBA代码里中文命名
在Office的VBA代码里中文命名.
1781 0