在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
原文:http://blog.dream4dev.com/article.asp?id=17 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; function Utf8Encode(const WS: WideString): UTF8String;
var L: Integer; Temp: UTF8String; begin Result := '; if WS = ' then Exit; SetLength(Temp, Length(WS) * 3); // SetLength includes space for null terminator L := UnicodeToUtf8(PChar(Temp), Length(Temp) + 1, PWideChar(WS), Length(WS)); if L > 0 then SetLength(Temp, L - 1) else Temp := '; Result := Temp; end; http://www.vckbase.com/module/articleContent.php?id=4387 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论