09-11-2014, 10:57 AM
من DSiWin32.pas
PHP كود :
function UTF8Encode(const ws: WideString): UTF8String;
begin
if ws = '' then
Result := ''
else begin
SetLength(Result, Length(ws)*3); // worst case - 3 bytes per character
SetLength(Result, WideCharBufToUTF8Buf(ws[1], Length(ws)*SizeOf(WideChar),
Result[1]));
end;
end; { UTF8Encode }
function UTF8Decode(const sUtf: UTF8String): WideString;
var
leftUtf: integer;
begin
if sUtf = '' then
Result := ''
else begin
SetLength(Result, Length(sUtf)); // worst case - 1 widechar per character
SetLength(Result, UTF8BufToWideCharBuf(sUtf[1], Length(sUtf), Result[1], leftUtf)
div SizeOf(WideChar));
end;
end; { UTF8Decode }

