| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Pascal, преобразование ANSI->Unicode |
| Автор: GeraldIstar 21.11.2012, 15:33 |
| Задача такая: есть входной текстовый файл, нужно изменить кодировку на unicode и записать в выходной. Не могу сообразить, как записывать в unicode. Младший и старший байт получаю делением на цело и остатком от деления кода символа в юникоде, но если записывать как char(старший_байт) а затем char(младший_байт) получается не то, что надо. Может я где-то чего-то упустил, не могу сообразить. Ни каких сторонних готовых библиотек, надо реализовать самому. |
| Автор: bems 21.11.2012, 15:44 |
| версия дельфи какая? что такое в твоём понимании юникод? |
| Автор: GeraldIstar 21.11.2012, 16:53 |
| Версия дельфи - турбо паскаль. Верися 7.1 кажеться, если это важно |
| Автор: bems 21.11.2012, 17:54 |
| ну если в старом досовском паскакале, то не вижу другого способа, как хранить в программе массив array [char] of word где индекс это анси-символ а элемент - код в UCS2. это для одной конкретной кодовой страницы ansi |
| Автор: GeraldIstar 21.11.2012, 18:49 |
| А писать в файл как? read(file,var) только же для char-var. Мне же самая главная проблема в текстовый файл вывести. |
| Автор: bems 21.11.2012, 18:54 |
| пиши в другой файл, объявленный как file of word. если надо, потом перезаписывай старый новым сразу читать и писать не получится, потому что UCS2 занимает в два раза больше и запись будет обгонять чтение |