Переключение данных в текстовом файле в ASCII или в UTF8 - PullRequest
0 голосов
/ 30 мая 2019

У меня есть текстовый файл в Unix с двумя столбцами, который содержит строки на разных языках (китайский, корейский, японский, арабский, английский, французский, немецкий и т. Д.) В первом столбце.

Текущая кодировка файла:

> файл index.txt
index.txt: текст на английском языке с расширенной ASCII, не относящийся к ISO, со строкой LF, NEL терминаторы

Мне сказали, что в этом файле есть подмножество записей (в столбце 1), которые используют кодировку не-ASCII, не-UTF8 и что я должен переключать данные в этом столбце предпочтительно в ASCII. Если это невозможно, до UTF8.

Например:
1. Как пользователь видит это: «Библиотека <C3> Que».
2. Через vim: «Библиотека».
3. Через меньшее: «Библиотека».

Я уже пробовал много преобразований и методов (в течение нескольких дней), но ни один из них не преобразовал его, как ожидалось.

например Я попытался изменить кодировку на UTF8:

iconv -f CP1256 -t UTF-8 index.txt.2
770> файл index.txt.2
index.txt.2: UTF-8 Unicode Английский текст Но символы кажется, поврежден в новом файле.

Но получил: 1. Через vim: «Библиотек». 2. Через менее: «Библиотек. Кв.».

Я проверяю, сколько строк не ASCii содержит этот файл, и получил выходной файл с сотнями строк в файле 'index.txt.non_ascii':

pcregrep --color = 'auto' -n "[\ x80- \ xFF]" index.txt> index.txt.non_ascii

Я также попытался написать короткий скрипт (на Perl), который считывает данные и сохраняет их как utf8, но строки снова повреждены.

Я буду очень признателен, если кто-нибудь поможет мне с этой проблемой.

Заранее спасибо! Mike

...