2012-04-30 3 views
1

У меня есть файлы, содержащие строки и необходимые для их преобразования в UTF8 с perl, есть ли опция с perl для запуска над этими файлами и конвертировать каждую строку в utf8, и если некоторые строки закодированы в utf8 сохранить их как есть?преобразование строки в UTF8 с perl

ответ

2

Вы можете использовать модуль Encode для преобразования между кодировками. (Нет необходимости устанавливать что-либо, это часть основных библиотек.) Обратите внимание, что «преобразование строки в UTF-8» требует, чтобы вы знали, из какой кодировки вы переходите; нет возможности надежно идентифицировать 8-битные кодировки текста.

5

Вы сказали, что некоторые части файла закодированы с использованием UTF-8, а некоторые кодируются с использованием чего-то другого, но вы не указали другую кодировку, и это важно.

Вообще говоря, невозможно описать кодировку строки, посмотрев на нее. Но если вы имеете дело с комбинацией US-ASCII, iso-8859-1, cp1252 и UTF-8, вероятность того, что вы действительно можете сказать *, и кто-то уже написал этот инструмент для вас.

Encoding::FixLatin поставляется со сценарием fix_latin, который преобразует файл, который представляет собой смесь вышеуказанных кодировок в UTF-8.

Смежные вопросы