[fpc-devel] for-in-index loop
Michael Schnell
mschnell at lumino.de
Fri Jan 25 11:22:06 CET 2013
On 01/25/2013 11:12 AM, Michael Van Canneyt wrote:
>
> Pchar ?
>
You seem to miss my point: the n'th printable character in an utf-8
coded string (may same be stored as a pchar or a string) starts at the
m'th byte (m>=n).
To find m for a given n you need to scan all bytes < m.
Thus a loop such as
for I = 1 to 100000 do begin
n = Integer (random(100000));
c = myString[n];
end;
Is rather fast with ANSI coded Strings.
When myString is coded in utf-8, it obviously provides silly code byte
instead of printable characters, and replacing the term myString[n] by a
straight forward function searching for the n'th printable character
will be very slow.
-Michael
More information about the fpc-devel
mailing list