Тип String

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Тип String

Сообщение Angel_19 » 08.07.2014 17:07:11

Доброго!

С типом String что-то непонятное... Как дело доходит до строк с русскими символами.
ini файл в кодировке 1251, читаю его, текст вывожу в memo, взамен русских символов - знаки вопроса.

Т.е. визуальные элементы в юникоде а остальное нет? Или как?
Angel_19
новенький
 
Сообщения: 37
Зарегистрирован: 24.06.2014 17:29:47

Re: Тип String

Сообщение SSerge » 09.07.2014 05:24:16

Angel_19 писал(а):а остальное нет? Или как?


Лазарусом не поддерживаются (и идеологически запрещены) маркированные кодовой страницей строки. поскольку String=AnsiString на текущую реализацию, в ее содержимом содержится именно тот мусор, что вы в нее поместили. Т.е. прочитали файл в cp1251 - будет байтовое представление cp1251, прочитали файл в koi-8 - будет байтовое представление koi-8. Попытки включить поддержку маркеров кодовой страницы в RTL freepascal приведут к неадекватному поведению библиотек лазаруса. То есть - автоматического преобразования кодировок - НЕТ.

Функции для ручной перекодировки содержимого строк представлены в unit's lconvencoding, lazutf8, для работы с именами файлов - fileutil.pas

Ссылка на старую Прикладную Кадаврологию: http://sirserge.altai.info/articles/?id=41
Там написано гнусно, но в целом правильно
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: Тип String

Сообщение Angel_19 » 12.07.2014 00:01:12

Спасибо! То что нужно!
Angel_19
новенький
 
Сообщения: 37
Зарегистрирован: 24.06.2014 17:29:47


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 236

Рейтинг@Mail.ru
cron