Я не очень знаком с использованием ruby с двоичными данными. Я использую Mechanize для загрузки большого количества CSV-файлов на свой локальный диск. Затем мне нужно найти в этих файлах определенные строки.
Я использую метод save_as в mechanize для сохранения файла (который сохраняет файл как двоичный файл). Тип содержимого файла (согласно механизму):
application/vnd.ms-excel;charset=x-UTF-16LE-BOM
Отсюда я не уверен, как читать файл. Я попытался прочитать его как обычный файл в ruby, но я просто получаю двоичные данные. Я также попытался использовать стандартные инструменты Unix (strings / grep), чтобы попытаться выполнить поиск без какой-либо удачи.
Когда я запускаю команду 'file' для одного из файлов, я получаю:
foo.csv: Little-endian UTF-16 Unicode Pascal program text, with very long lines, with CRLF, CR, LF line terminators
Я прекрасно вижу данные с помощью cat или vi. В vi я также вижу некоторые управляющие символы.
Я также пробовал обе библиотеки csv и fastcsv ruby, но для них я получаю исключение 'IllegalFormatError'. Я также безуспешно пытался это решение .
Любая помощь будет принята с благодарностью. Спасибо.