3

TXT-файл с содержимым правильно открывается в редакторе графического интерфейса (я использую возвышенное). Но в vim это выглядит так, теперь я не могу выполнить grep в этом файле. Когда я использую меньше, он говорит "может быть двоичный файл". Как мне преобразовать это в правильный текстовый файл. Есть идеи, почему появляются эти странные персонажи?

У ^ @ уха | д ^ @ о ^ @ п ^ @ о ^ @ г ^ @ с ^ @ о ^ @ д ^ @ е ^ @ | ^ @ д ^ @ о ^ @ п ^ @ о ^ @ г ^ @ п ^ @ а ^ @ т ^ @ е ^ @ | ^ @ а ^ @ г ^ @ е ^ @ п ^ @ с ^ @ у ^ @ с ^ @ о ^ @ д ^ @ е ^ @ | ^ @ а ^ @ g ^ @ e ^ @ n ^ @ c ^ @ y ^ @ n ^ @ a ^ @ m ^ @ e ^ @ | ^ @ c ^ @ r ^ @ s ^ @ i ^ @ d ^ @ | ^ @ p ^ @ г ^ @ о ^ @ J ^ @ е ^ @ с ^ @ т ^ @ п ^ @ и ^ @ т ^ @ б ^ @ е ^ @ г ^ @ | ^ @ я ^ @ п ^ @ я ^ @ т ^ @

1 ответ1

6

Он выглядит как простой текстовый файл, хранящийся в Unicode UTF-16 LE, где каждая кодовая точка Unicode хранится в виде одной или двух 16-битных кодовых единиц.

Если сам текст в основном предназначен только для ASCII (все кодовые точки ≤ U+00FF), результат будет выглядеть так, как будто байт NUL был вставлен после каждого байта, если вы просматриваете файл из редактора, не поддерживающего UTF-16.

В командной строке используйте iconv -f utf-16le -t utf-8 < file.txt > file-new.txt чтобы исправить это.

В Vim вы можете использовать :e ++enc=utf-16le чтобы заново открыть файл, используя правильную кодировку.

Если возможно, скажите Sublime сохранять файлы как UTF-8, что будет намного более совместимо с различными инструментами. (В Vim:: :set fileencoding=utf-8 | w)

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