Цитата:
Сообщение от OSIRIS
а можно поподробнее про ansistring? если честно не знал что у него могут быть параметры.... получается параметром указывается в какой кодировке будет строка?
|
Для начала нужно уяснить, что тип UnicodeString --
метастрока, то есть общая структура, позволяющая хранить текстовые данные с разным
физическим представлением символов. Кодировки на основе кодовых страниц и UTF-8 хранят символы в виде одного или нескольких
байт, а UTF-16 -- в виде одного или двух
слов, которые называют WideChar. Если не путаю, UnicodeString поддерживает также и UTF-32, в которой символы представлены
двойными словами -- UCS4Char.
Особенность в том, что словные и двухсловные символы имеют лишь одно
логическое представление -- UTF-16 и UTF-32 соответственно, а вот байтовые интерпретируются по-разному в зависимости от кодовой страницы. В Delphi это и реализовано: AnsiString является подтипом UnicodeString для байтовых символов, и ему можно задать кодовую страницу.