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

 

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

你可能感兴趣的:(DecodeUtf8Str解决系统自带UTF8解码缺陷)