Почему importdata не работает здесь?
У меня есть два текстовых файла данных с одинаковым текстовым содержимым, но они имеют разные размеры. Следующий снимок сравнивает их (используя Beyond Compare).
Кажется, что шестнадцатеричное содержимое файлов отличается. Функция MATLAB importdata
хорошо читает файл слева, но выдает следующую ошибку с файлом справа (файл большего размера):
Невозможно загрузить файл. Используйте TEXTSCAN или FREAD для более сложных форматов.
В чем именно разница между двумя файлами?
Как сделать importdata
работать с файлом справа?
0 ответов
Проблема и решение уже упоминались в комментариях:
похоже, что один текстовый файл находится в кодировке ascii (то есть 8 бит на символ), а второй - в юникоде (16 бит на символ). попробуйте преобразовать большой файл в простой ascii и перечитать его
Вы можете увидеть разницу уже в BeyondCompare: слева у вас есть ANSI-файл, справа - юникод с спецификацией (шестнадцатеричный код выглядит как UTF-16LE. Я не уверен, какая версия BeyondCompare вы использовали для получения снимка экрана. My BeyondCompare не отображал "Unicode", а "UTF16-LE"...).