2

У меня есть текст, который выглядит так:

должен проходить ежегодный кардиологический осмотр, чтобы остаться в списке пересадки. Но есть> пациенты, которые пропали без вести icardiac mportant information. It is yo ur job as an intern on call make make sure that you fin

Как видите, первая строка в порядке, но вторая повреждена. Это выглядит так, даже когда я открываю его с помощью Vim или LibreOffice. Есть ли способ это исправить? Я пытался изменить кодировку на UTF-8, но безрезультатно. Спасибо!

2 ответа2

2

Мне кажется, что он, возможно, начал жизнь как некий стандартный текст с маркерами подстановки, и был обработан утилитой, у которой не было достаточно защитного кодирования - вариант этого комикса xkcd. Например, он может быть сгенерирован с использованием глючного процессора XSLT.

Если это то, что вы видите в виде простого текста, то, вероятно, вы мало что можете сделать, кроме как вернуться к первоисточнику. Обычные текстовые файлы не содержат дополнительной скрытой информации. Неправильная кодировка может вызвать проблемы, но если ваш редактор загружается, принимая кодировку байтов на символы и эта кодировка неправильная, вы все равно должны увидеть больше вещей в виде мусорных символов.

Не исключено, что может быть конец файла или нулевой символ, препятствующий отображению конца текста, но в наши дни ни один достойный текстовый редактор не должен быть одурачен этим.

1

Не забывайте всегда работать с резервной копией, пока не убедитесь, что она работает.

Вы можете попробовать загрузить текстовый файл в vim, используя другой метод кодирования

начать vim (или gvim, в зависимости от того, что)

:e ++enc=utf-8 textfilename.txt

vim знает несколько типов кодирования, попробуйте периодически повторять их. Из файлов справки:

Поддерживаются следующие значения кодировки:

латиница 1, iso-8859-n, cp437, cp737, cp775, cp850, cp852, cp855, cp857, cp860, cp861, cp862, cp863, cp865, cp866, cp869, utf-8, ucs-2, ucs-2, ucs-2 16, utf-16le, ucs-4, ucs-4le

Мой вопрос о необработанном текстовом файле заключается в том, чтобы определить, есть ли у него спецификация в начале (метка порядка байтов), что дало бы нам подсказку о том, что он считает.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .