最近在做一個短信相關的項目。從聯通網關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;