最近在做一个短信相关的项目。从联通网关deliver过来的短信都是ucs2编码的。
在网上找了些资料,找到一些使用java语言本身带的api转换的代码,但没有合适的delphi源码,所以经研究后自己写了一个,很简单的:
function Ucs2ToGBK(const InValue: string): string;
var
I: Integer;
begin
Result := '';
for I := 1 to length(InValue) div 2 - 1 do
Result := Result + WideChar(StrToInt('$' + IntToHex(Ord(InValue[2 * I - 1]), 2)
+ IntToHex(Ord(InValue[2 * I]), 2)));
end;