1
function
DecodeUtf8Str(
const
S: UTF8String): WideString;
2
var
lenSrc, lenDst : Integer;
3
begin
4
lenSrc :
=
Length(S);
5
if
(lenSrc
=
0
)
then
Exit;
6
lenDst :
=
MultiByteToWideChar(CP_UTF8,
0
, Pointer(S), lenSrc,
nil
,
0
);
7
SetLength(Result, lenDst);
8
MultiByteToWideChar(CP_UTF8,
0
, Pointer(S), lenSrc, Pointer(Result), lenDst);
9
end
;
因为Delphi自带的转换函数遇到其无法识别的字符串就返回空,以上函数可解决该问题。
转载于:https://www.cnblogs.com/lojon/archive/2010/05/03/1726470.html