替换系统自带的Utf8Decode函数,原函数遇到日文等非法字符不能解析

//替换系统自带的Utf8Decode函数,原函数遇到日文等非法字符不能解析
function DecodeUtf8Str(const S: UTF8String): WideString;
var
lenSrc, lenDst: Integer;
begin
lenSrc := Length(S);
if lenSrc = 0 then Exit;
lenDst := MultiByteToWideChar(CP_UTF8, 0, Pointer(S), lenSrc, nil, 0);
SetLength(Result, lenDst);
MultiByteToWideChar(CP_UTF8, 0, Pointer(S), lenSrc, Pointer(Result), lenDst);
end;

posted @ 2019-06-27 08:26  绿水青山777  阅读(298)  评论(0编辑  收藏  举报