[fpc-devel] ansistrings and widestrings

Alexey Barkovoy clootie at ixbt.com
Wed Jan 5 08:36:06 CET 2005


> if i do ansistringvar := widestringvar or widestringvar := ansistringvar
> what does the compiler do?
>
> 1: use the systems default encoding (if so obtained from where?)
> 2: use utf-8
> 3: use iso-8859-1
> 4: use something else?
>
> furthermore if the encoding used is one not capable of representing all
> unicode code points what are the reduction rules used in the conversion from
> widestring to ansistring?

Compiler internally uses Wide2AnsiMoveProc and Ansi2WideMoveProc functions which 
can be reassigned by user. Currently their are just maping lower 128 chars in 
one representation to other. On Windows there are system functions that can be 
used to do conversion: MultiByteToWideChar and WideCharToMultiByte - these 
functions can take into account specified or globally set code page.





More information about the fpc-devel mailing list