A function that converts a binary string to its corresponding char values.
30 次查看(过去 30 天)
显示 更早的评论
I need to create a function that converts a binary string to its corresponding char values. I have create a function to convert char values to binary string. Now i need its reverse. Code for str to binary is given here.
Function [y] = str2bin(txt)
For i=1:length(txt)
m=txt(i);
y(i, :) = dec2bin(double(m));
End
0 个评论
采纳的回答
Stephen23
2015-3-31
编辑:Stephen23
2015-3-31
Rather than doing this in a loop you should learn how to write vectorized code in MATLAB. Vectorized code is neater, faster and much easier to read. Loops are your second choice, not your first choice.
>> str = 'hello world!';
>> dec2bin(str)
ans =
1101000
1100101
1101100
1101100
1101111
0100000
1110111
1101111
1110010
1101100
1100100
0100001
which returns a character array. If you want a cell array of strings, simply wrap this in a num2cell call:
>> out = num2cell(dec2bin(str),2)
out =
'1101000'
'1100101'
'1101100'
'1101100'
'1101111'
'0100000'
'1110111'
'1101111'
'1110010'
'1101100'
'1100100'
'0100001'
>> bin2dec(out)
ans =
104
101
108
108
111
32
119
111
114
108
100
33
Or if you want the original string instead:
>> char(bin2dec(out).')
ans = 'hello world!'
0 个评论
更多回答(0 个)
另请参阅
类别
在 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!