![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сохранить файл в Unicode
Ega23 © (2006-03-12 12:25:00)Есть текстовый файл. Надо его в юникод перегнать. Как?
Ega23 (2006-03-12 13:11:00) [1]ОК, спасибо.
Anatoly Podgoretsky (2006-03-12 12:52:00) [2]sniknik © (12.03.06 12:50) [6]
Особенно учитывая, что может читать и писать по одному байту :-)
API (2006-03-12 12:52:00) [3]Без учета локализации: MultiByteToWideChar().
Номер кодовой страницы (us-ascii: 20127; windows-1251: 1251; koi8-r: 20866; и др.) передается в параметрах.
sniknik (2006-03-12 12:50:00) [4]> Не помрёт TFileStream?
на допотопную машину с 16мг оперативки пишеш?
хотя чего это я... из под винды както прогу запускали (гегои меча и магии) на машине с 4мг оперативки, и с требованиями игры (dos) 8мег. минимум...
а тут какойто TFileStream, тфу.
Anatoly Podgoretsky (2006-03-12 12:46:00) [5]Ega23 © (12.03.06 12:38) [4]
Не помрет, это не размер. Потом сам TFileStream ничего не жрет, а жрут переменные S и WS
При желании не обязательно весь файл загонять в память, читай блоками и пиши блоками.
Ega23 (2006-03-12 12:38:00) [6]
> Можно и текстовый (если не возникнет проблем с нулем), но
> лучше подойдет TFileStream
>
Размер больно большой. Сам файл 15,5 МБ "весит", а в юникоде - все 31 метр получится...
Не помрёт TFileStream?
Anatoly Podgoretsky (2006-03-12 12:34:00) [7]Ega23 © (12.03.06 12:30) [2]
В соответсвии с локализацией!
Можно и текстовый (если не возникнет проблем с нулем), но лучше подойдет TFileStream
Ega23 (2006-03-12 12:30:00) [8]
> ws := s
А оно вот так прямо просто прикастовывается? И никаких StringToWideChar не надо?
Круто!
> Записать
А файл также текстовым объявлять (var F: TextFile;)? Или что-то специальное нужно?
Anatoly Podgoretsky (2006-03-12 12:26:00) [9]ws := s
Записать