Delphi 解决Utf8ToAnsi和Utf8DeCode转换编码为空的问题

//delphi DecodeUtf8Str解决系统自带UTF8解码缺陷

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;

//因为Delphi自带的转换函数遇到其无法识别的字符串就返回空,以上函数可解决该问题。