MATLAB Answers

read decimal and hex from a single file

11 views (last 30 days)
Tiberius
Tiberius on 26 Dec 2013
Commented: Tiberius on 27 Dec 2013
Hello. I have a file with this format :
1364475492261 *8fe8041658ab056a61a13f827d6e;
1364475492981 *5fe8041640cd9f;
.
.
.
There are those types of values (first in decimal, then ' *' and then either a long hexa code or a short one - those codes have fixed lengths and are identical to those in the example above).
My question is if I can read those from the file and create a matrix with two columns and N rows, for further data processing. My main problem is the 2 data representations (dec and hexa).
Thanks for your time.

  0 Comments

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 26 Dec 2013
fid = fopen('YourFile.txt', 'r');
datacell = textscan(fid, '%f *%[0-9abcdef];');
fclose(fid);
col1_cell = num2cell(datacell{1});
col2_cell = datacell{2};
mat = [col1_cell, col2_cell];
Now "mat" will be an N x 2 cell array, where the first column is numeric and the second is a string. String needs to be used instead of decoding the hex to numeric form because there is no MATLAB numeric datatype that can hold 28 hex digits (14 bytes)

  1 Comment

Tiberius
Tiberius on 27 Dec 2013
Hey, thanks for the tips. They really helped me construct my program. Cheers.

Sign in to comment.

Tags


Translated by