On 10/07/2010 22:01, Jonas Maebe wrote:
const Vec:AnsiString=#$094#$06D;
This should just be 8-bit data with no conversion.
try const Vec:AnsiString=#$94#$6D;
I've now documented this change at 
http://wiki.freepascal.org/User_Changes_Trunk#Short.2FAnsistring_typed_constants_containing_widechars.2Funicodechars


from the page:

{$codepage utf8}
const
  s1: shortstring = 'éà';
  s2: ansistring = #$094#$06D;
  s3: ansistring = #267#543;


In case of s2, s3 it's a do-able conversion, since the numeric values are 
already known.

But with s1 that could potentially be much much more work, and also very 
inconvenient for writing new code.
I would not know all the ordinal values from the top of my head, and if the 
string was long, it would mean to look up dozens of uni-codes.

It would be nice if there was(maybe there is) some way, of telling the compiler 
that the string is to be treaded as binary-data. Maybe like:

{$codepage utf8}
const
{$codepage binary} // temporary change
  s1: shortstring = 'éà';
{$codepage utf8} // back to original
 s2: ansistring = #$094#$06D;
 s3: ansistring = #267#543;



_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to