Octanium
Junior Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору Как в Autoplay Media Studio полностью перекодировать текст\файл в кодировку UTF-8 w/o BOM в UNIX формате. Без использования плагинов. (мне нужно было что-бы AMS выдал мне юникс файл на выходе) Просто оставлю это здесь т.к. сам долго бился с этой проблемой. Добавлю комментарии. Спасибо KerberX за ссылочку на http://mydc.ru/topic334.html (там есть хороший декодер в UTF-8) и за функции для смены переноса строк. Записать в глобал: Подробнее... Проблема заключалась в формате перехода на новую строку, после кодирования файла его нельзя нормально использовать в UNIX системах он там вылетает. Просто перед сменой кодировки нужно перебрать файл построчно и поменять формат перехода с \r\n на \n. (примечание: переходы \r - CR - используется в 8-битовых машинах Commodore, машинах TRS-80, Apple II, системах Mac OS до версии 9 и OS-9, \n - LF - используется в Multics, UNIX, UNIX-подобных операционных системах (GNU/Linux, AIX, Xenix, Mac OS X, FreeBSD и др.), BeOS, Amiga UNIX, RISC OS и других, \n\r - CR+LF - используется в DEC RT-11 и большинстве других ранних не-UNIX- и не-IBM-систем, а также в CP/M, MP/M (англ.), MS-DOS, OS/2, Microsoft Windows, Symbian OS, протоколах Интернет) использование: - Считать файл в формате виндовс. Код: g_file = TextFile.ReadToString(""..temp_dir.."\\text.txt"); | - Меняем перенос строк Код: UnixScript = TextFile.WindowsToUnix(g_file); | - Меняем кодировку в UTF8 Код: UTF8_script = AnsiToUtf8 (UnixScript); | - Записать полученные данные в файл Код: TextFile.WriteFromString(""..temp_dir.."\\text_unix.txt", UTF8_script, false); | Радуемся =) | Всего записей: 50 | Зарегистр. 07-02-2011 | Отправлено: 17:50 19-07-2015 | Исправлено: Octanium, 09:40 21-07-2015 |
|