Summary on Re: [fpc-pascal] Unicode file routines proposal
Michael Van Canneyt
michael at freepascal.org
Tue Jul 1 16:14:31 CEST 2008
On Tue, 1 Jul 2008, Jeff Wormsley wrote:
>
> Marco van de Voort wrote:
> > I don't understand how this can work, how can I have a compiletime solution
> > for a runtime problem?
> >
> > procedure mystringproc (s:FlorianUnicodeString);
> >
> > begin
> > if encodingof(s)=utf-16 then
> > begin
> > // utf-16 code here with shiftsize 2 [] needed
> > end
> > else
> > begin
> > // utf-8 code here with shiftsize 1 [] needed
> > end;
> > end;
> >
> If compiler magic is at work, wouldn't all this reduce to s[1] giving the
> first char no matter the char size? If you do something like c := s[1] and c
> is defined as char, it gets converted to a standard 0-255 value, but c could
> be defined as FlorianChar and be the native char size. Or am I smoking crack?
No, you understand it correct.
Obviously, with Florian's type, simple low-level access is out of the question.
That's the price you pay.
Michael.
More information about the fpc-pascal
mailing list