Я пытаюсь прочитать файл в Matlab с помощью fscanf. Файл представляет собой дамп некоторой области памяти в микроконтроллере. Я экспортирую его из IDE, и кодировка «ISO-8859-1».
Вот одна строка из файла, когда я открываю его в matlab:
25 08 00 00 7E 05 00 00 08 08 00 00 85 05 00 00 0D 06 00 00 76 06 00 00 04 0C 00 00 FB 07 00 00
3A 06 00 00 0C 06 00 00 01 06 00 00 0C 06 00 00 C3 05 00 00 EF 05 00 00 05 06 00 00 FF 05 00 00
EF 05 00 00 FB 05 00 00 89 08 00 00 74 06 00 00 0D 06 00 00 FC 05 00 00 10 06 00 00 C3 05 00 00
C5 05 00 00 F2 05 00 00 81 05 00 00 1C 06 00 00 85 05 00 00 F0 05 00 00 C2 05 00 00 5F 05 00 00
(здесь полный файл)
И это правильно: те же цифры я вижу в IDE. Что я делаю:
fileID = fopen('testdataadc.txt','r','n','ISO-8859-1');
% Read all characters excluding white spaces.
vecDump = fscanf(fileID, '%s' ,[25 Inf]);
fclose(fileID);
Где 'n' для нативных порядковых номеров: Ваш системный порядок байтов (по умолчанию). А теперь первый столбец в vecDump (это переменная типа 25x64):
25060000F5080000F8070000F0050000E5050000FC060000EF06000000070000
Формат, который я ожидал, но значения неправильные. Например:
25 08 00 00 becomes 25 06 00 00
7E 05 00 00 becomes F5 08 00 00
Что я здесь не так делаю?