I would like to extract each character from a text file. Later convert each character(in ASCII) to binary and store the binary form in an array.
1 次查看(过去 30 天)
显示 更早的评论
For example, text file: example.txt which contains text "hello, hi". It will take each character and convert it to binary and store the value in an array.
0 个评论
回答(1 个)
Guillaume
2016-5-4
Note that computers store characters and numbers in binary form, so it's not clear what you mean by "convert it to binary".
In any case, to read the file:
content = fileread('C:\full\path to\example.txt');
If you want matlab to display the ASCII value (strictly speaking it's not ASCII as characters can be outside the range 0-127):
asciivalues = double(content);
If what you meant is that you want the individual bits of each character as separate elements of your array:
charbits = cell2mat(arrayfun(@(c) bitget(c, 8:-1:1), asciivalues, 'UniformOutput', false));
2 个评论
Guillaume
2016-5-4
Simply transpose the cell array returned by arrayfun before the call to cell2mat. That is:
charbits = cell2mat(arrayfun(@(c) bitget(c, 8:-1:1), asciivalues, 'UniformOutput', false)'); %note the '
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Type Conversion 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!