Clear Filters
Clear Filters

.csv file hex to dec converting(hex2dec is not working)

4 views (last 30 days)
hi. i'm converting .csv file (hex) to .csv file (dec).
if a.csv file is hexadecimal
a.csv file :
['eb','80','80' ; 'eb','80','80' ...]
A = hex2dec('a.csv')
error : Error using hex2dec
Hexadecimal text must consist of characters 0-9 and A-F.
always error occurs.

Accepted Answer

Walter Roberson
Walter Roberson on 10 Nov 2021
You cannot apply hex2dec to a file name . You need to read the hex data out of the file first and convert that if you are going to use hex2dec .
Could you confirm that the csv file contains both commas and semi-colons ? Are the semi-colons after every third entry exactly? Or is the actual input like
'eb', '80', '80'
'eb', '80', '80'
with no '[' and no semi-colon ?
Is there the same number on every line? Is there indeed multiple lines?
  2 Comments
Jeong Dae Kim
Jeong Dae Kim on 10 Nov 2021
and i can add (') if it is important, i attempted readtable() but there is NaN
Walter Roberson
Walter Roberson on 10 Nov 2021
in_filename = 'outfile_ycbcr.csv';
out_filename = 'ycbcr_dec.csv';
[fid, msg] = fopen(in_filename, 'r');
if fid < 0
error('failed to open file "%s" because "%s"', in_filename, msg);
end
data_dec = cell2mat(textscan(fid, '%x, %x, %x'));
fclose(fid);
writematrix(data_dec, out_filename);

Sign in to comment.

More Answers (1)

KSSV
KSSV on 10 Nov 2021
You cannot convert like that.
  1. Read the csv file data using csvread or readtable.
  2. Then on the data use the function hex2dec
  3. Then write converted data into csv file using write2table

Categories

Find more on Data Type Conversion in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!