// GBK-->GB2312
// 中華人民共和國 --> 中华人民共和国
Function TForm1.GBCht2Chs(GBStr: String): AnsiString;
Var
pGBCHTChar: PChar;
pGBCHSChar: PChar;
Begin
pGBCHTChar := PChar(GBStr);
GetMem(pGBCHSChar,  1);  ZeroMemory(pGBCHSChar,  1);
//GB CHS -> GB CHT
LCMapString($804, LCMAP_SIMPLIFIED_CHINESE, pGBCHTChar, -1, pGBCHSChar, Length(GBStr) + 1 ); //
Result := String(pGBCHSChar);
FreeMem(pGBCHSChar);
End;
// GB2312-->GBK
// 中华人民共和国 --> 中華人民共和國
Function TForm1.GBChs2Cht(GBStr: String): AnsiString;
Var
SourceLength :integer;
字符串函数gets怎么重新定义
TargetStr    :string;
begin
SourceLength := Length(GBStr) + 1;
SetLength(TargetStr, SourceLength);
LCMapString($804, LCMAP_TRADITIONAL_CHINESE, PChar(GBStr), SourceLength, PChar(TargetStr), SourceLength);
result := TargetStr;
End;
//==============================================
//GBK-->Big6
// 中華人民共和國 --> い地チ㎝瓣
Function TForm1.GBK2BIG5(GBStr: String): AnsiString;
var
len: integer;
pChar: PAnsiChar;
pWChar: PWideChar;
begin
if(GBStr='') then exit;
pChar:=PAnsiChar(AnsiString(GBStr));
Len := strlen(pChar);  //length(GBStr)
GetMem(pWChar, Len + 1);
ZeroMemory(pWChar, Len + 1);
try
begin
MultiByteToWideChar(936, 0, pChar, Len, pWChar, Len + 1);
WideCharToMultiByte(950, 0, pWChar, Len, pChar, Len + 1, Nil, Nil);
pChar[Len] := Ansichar($0);
result:=String(pChar);
end
finally
FreeMem(pWChar);
end;
end;
//Big5-->GBK
// い地チ㎝瓣 --> 中華人民共和國
Function TForm1.BIG52GBK(GBStr: String): AnsiString;
var
len: integer;
pChar: PAnsiChar;
pWChar: PWideChar;
begin
if(GBStr='') then exit;
pChar:=PAnsiChar(AnsiString(GBStr));
Len := strlen(pChar);  //length(GBStr)
GetMem(pWChar, Len + 1);
ZeroMemory(pWChar, Len + 1);
try
begin
MultiByteToWideChar(950, 0, pChar, Len, pWChar, Len + 1);
WideCharToMultiByte(936, 0, pWChar, Len, pChar, Len + 1, Nil, Nil);
pChar[Len] := Ansichar($0);
result:=String(pChar);
end
finally
FreeMem(pWChar);
end;
end;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。