How to convert data byte by byte
Ältere Kommentare anzeigen
I have read a file and data im getting is shown below. I have to convert this data byte by byte in decimal number please tell me how can I do that ?

2 Kommentare
Jan
am 27 Jan. 2021
Typing an answer would be easier, if the file or its contents is provided as text.
Akzeptierte Antwort
Weitere Antworten (3)
David Hill
am 27 Jan. 2021
d=hex2dec(regexp(a,'[0-9a-f]+','match'));
s = '|0|01|00|5e|'
data = split(s, '|')
d = hex2dec(data)
If you want to eliminate the first and last 0 in d, trim the leading and trailing | characters from s before splitting.
Jan
am 27 Jan. 2021
A comparison of the runtimes:
s = repmat('|0|01|00|5e', 1, 2000);
tic
for k = 1:100
d = hex2dec(regexp(s, '[0-9a-f]+', 'match'));
end
toc
tic
for k = 1:100
d = hex2dec(split(s, '|'));
end
toc
tic
for k = 1:100
d = sscanf(s, '|%x');
end
toc
tic
for k = 1:100
d = sscanf(strrep(s, '|', ' '), '%x');
end
toc
% Elapsed time is 0.909770 seconds.
% Elapsed time is 0.424414 seconds.
% Elapsed time is 0.272269 seconds.
% Elapsed time is 0.163054 seconds.
Kategorien
Mehr zu Data Type Conversion finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!