mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-10 01:08:35 +02:00
* fixed UTF8Decode for JVM:
o pass length of result array as maximum length instead of that of an empty string o the returned length of Utf8ToUnicode() includes a terminating #0 char, subtract that again when creating a new unicode string with the characters git-svn-id: trunk@33157 -
This commit is contained in:
parent
74eb0de460
commit
599426f2f0
@ -794,18 +794,15 @@ function UTF8Encode(const s : UnicodeString) : RawByteString;
|
||||
function UTF8Decode(const s : RawByteString): UnicodeString;
|
||||
var
|
||||
i : SizeInt;
|
||||
hs : UnicodeString;
|
||||
chars: array of widechar;
|
||||
begin
|
||||
result:='';
|
||||
if s='' then
|
||||
exit;
|
||||
SetLength(chars,length(s));
|
||||
i:=Utf8ToUnicode(pwidechar(chars),length(hs)+1,pchar(s),length(s));
|
||||
SetLength(chars,length(s)+1);
|
||||
i:=Utf8ToUnicode(pwidechar(chars),length(s)+1,pchar(s),length(s));
|
||||
if i>0 then
|
||||
begin
|
||||
result:=JLString.Create(chars,0,i);
|
||||
end;
|
||||
result:=JLString.Create(chars,0,i-1);
|
||||
end;
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user