У меня есть текстовый файл (на самом деле .csv, экспортированный из .xlsx в LibreOffice) со строками, которые имеют тарабарщину при открытии в LibreOffice Calc. В VIM они выглядят следующим образом:
Joe User, joe@user.com, p@ss<96>w0rd
<96>
был каким-то забавным персонажем, похожим на -
, но MS Office решил изменить его на что-то другое. Файл поэтому не ASCII:
$ file -i Users.csv
Users.csv: text/plain; charset=unknown-8bit
Обратите внимание, что все эти «забавные» символы имеют кодовые точки меньше 127, поэтому я действительно не знаю, как Calc и VIM понимают, что это не ASCII. Какие другие кодировки имеют все кодовые точки ниже 127, то есть не являются ASCII-совместимыми?Кроме того, как я могу искать эти символы в VIM? Для не ASCII символов выше 127 я использую /[^\x00-\x127]
для поиска, но, конечно, он не найдет <96>
.
Исходный файл .xlsx по-прежнему находится на компьютере Windows другого пользователя, и, конечно же, я могу убедиться в его MS Office, что символ <96>
не ASCII 96 `, а скорее забавная вариация '.