Декодувати дивні символи в текстовому файлі


1

Хтось надіслав мені текстовий файл. Хоча я можу прочитати більшу частину документа, іноді бувають незвичайні символи. Коли я відкриваю його у VIM, я бачу & lt; 92 & gt; в цьому місці. Коли я використовую gedit, я бачу символ, який виглядає як квадрат з двома нулями і 9 і 4 на квадраті.

Чи є спосіб розшифрувати ці забавні персонажі назад до їхнього читабельного еквівалента?

У оболонці також виконано таке:

johncomputer> file --mime-encoding file.txt
johncomputer> file.txt: : utf-8

Так що я думаю, що це utf8 закодований.

Ох, а також, це текстовий документ, де більшість символів можна прочитати. Лише деякі (не всі) акцентовані символи з'являються дивно.


Чи знаєте ви, яке кодування було використано для збереження текстового файлу?
xxbbcc

Я думаю, що це utf8
John

Можливо, ви захочете поглянути на перше і останні слова у вашому текстовому файлі. Можливо, є деякі підказки щодо того, який тип файлу це. Наприклад, файли PNG матимуть щось подібне ‰PNG на початку, відкрив файл jpeg ÿØÿà JFIF на початку і т.д.
Jerry

Якщо ви так вважаєте, спробуйте скористатися іншим редактором - Notepad ++ або Notepad програміста на Windows (я не знаю VIM / Linux). Якщо ви впевнені, що це текстовий файл (не якийсь інший формат файлу), а кодування UTF-8, один з них повинен вміти правильно показувати вміст. Майте на увазі, що навіть тоді можуть бути певні символи, які не можуть бути показані, а шрифт, який використовує редактор, також може обмежувати символи, які можна відобразити на екрані. Зазвичай це обмеження вікон консолі.
xxbbcc

Якщо ви бачите <92>, це, безумовно, не UTF-8.
grawity

Відповіді:


5

Імовірність того, що ви бачите як <92 & gt; і & gt; 94 & gt; є windows-1252 кодується «розумна» (фігурна) апостроф і «розумна» права подвійна лапка. Звичайно, вони можуть бути практично будь-якими, але в UTF-8 такі байти не можуть виглядати як "автономні", тільки як 2-й або пізніший байт багатобайтового представлення символу,


1

Чи знаєте ви кодову сторінку, яку використовує особа, яка надіслала вам цей файл? Яка їх основна мова?

У Vim ви можете перезавантажити файл за допомогою іншої кодування з командою

:e ++enc=cpXXX

Посилання на відповідний відгук vim


Я не знаю, як вони створили цей текстовий документ. Вони просто надсилали мені листа. Я спробував команду VIM, але це не вплинуло на документ. Див. Розділ & lt; 92 & gt;
John

Якщо файл дійсно UTF-8, ця команда відобразить його :e ++enc=utf8 пара інших, щоб спробувати буде utf16 і ucs2
Jimbo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.