Alex Shishkin schrieb:
12.10.2011 16:34, Hans-Peter Diettrich пишет:
Alex Shishkin schrieb:
1) Why UTF8String made incompatible with AnsiString(CP_UTF8)
( UTF8String = type AnsiString(CP_UTF8); )? Why not an alias?

An alias allows to assign strings of *any* encoding, with possibly fatal
consequences. A strict UTF8String type allows for implicit conversion,
whenever required, so that such a string can contain nothing but UTF-8
encoded characters.
So if I declare "MyString : AnsiString(CP_UTF8)" and assign win1251 encoded string to it no conversion will be made? It`s strange.

Delphi doesn't allow for such syntax. You'll have to write
  type TMyString = type AnsiString(CP_UTF8); // = UTF8String
  var  MyString: TMyString;
Then all assignments to MyString are converted into UTF-8.

DoDi

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

Reply via email to