简体转繁体,我觉得还不错

来源:互联网 发布:胡雅婷 知乎 编辑:程序博客网 时间:2024/05/10 13:13
 function   UnicodeEncode(Str:string;CodePage:integer):WideString;  
  var  
      Len:integer;  
  begin  
      Len:=Length(Str)+1;  
      SetLength(Result,Len);  
      Len:=MultiByteToWideChar(CodePage,0,PChar(Str),-1,PWideChar(Result),Len);  
      SetLength(Result,Len-1);   //end   is   #0  
  end;  
   
  function   UnicodeDecode(Str:WideString;CodePage:integer):string;  
  var  
      Len:integer;  
  begin  
      Len:=Length(Str)*2+1;     //one   for   #0  
      SetLength(Result,Len);  
      Len:=WideCharToMultiByte(CodePage,0,PWideChar(Str),-1,PChar(Result),Len,nil,nil);  
      SetLength(Result,Len-1);  
  end;  
   
  function   Gb2Big5(Str:string):string;  
  begin  
      SetLength(Result,Length(Str));  
      LCMapString(GetUserDefaultLCID,LCMAP_TRADITIONAL_CHINESE,  
          PChar(Str),Length(Str),  
          PChar(Result),Length(Result));  
      Result:=UnicodeDecode(UnicodeEncode(Result,936),950);  
  end;  
   
  function   Big52Gb(Str:string):string;  
  begin  
      Str:=UnicodeDecode(UnicodeEncode(Str,950),936);  
      SetLength(Result,Length(Str));  
      LCMapString(GetUserDefaultLCID,LCMAP_SIMPLIFIED_CHINESE,  
          PChar(Str),Length(Str),  
          PChar(Result),Length(Result));  
  end;   
   
原创粉丝点击