Я использую Windows ActivePerl, и мне никогда не удается получить преобразование файла с прямым порядком байтов в UCS2 для правильного преобразования в utf-8.Лучшее, что я мог бы узнать, это то, что кажется правильным преобразованием, за исключением того, что первая строка, состоящая из 4 символов, искажена странными китайскими / японскими символами, но остальная часть файла выглядит нормально.
Что я действительно хочу, так это сделать oneliner /поиск / замена регулярного выражения Perl:
perl -pi.bak -e 's/replacethis/withthat/g;' my_ucs2file.txt
Это не сработает, поэтому я попытался сначала посмотреть, может ли Perl выполнить правильное преобразование, и я застрял, я использую:
perl -i.BAKS -MEncode -p -e "Encode::from_to($_, 'UCS-2', 'UTF-8')" My_UCS2file.txt
Я пытался использовать UCS2
или UCS-2LE
, но все еще не могу получить правильное преобразование.
Я помню, где-то кто-то должен был удалить пару битов или что-то в начале UCS2
файл, чтобы преобразование работало, но я не помню ...
Когда я попробовал PowerShell, он пожаловался, что не знает UCS2
/ UCS-2
... ??
Ценю любые идеи.Я заметил, что NotePad ++ действительно открывает и распознает его, и я могу редактировать и сохранять в блокноте, но нет возможности командной строки ...