binary to string

44 次查看(过去 30 天)
Aseel H
Aseel H 2012-2-20
编辑: Stephen23 2015-4-29
if i want convert binary to text:as s = ('101011101011010101011010'); then i want convert eaceh 8bit to character when use function bin2str(s); give error: "can not convert more than 52 bit" it consider "s" one character but i want for examble: S = '101011101011010101011010'; [a,b] =size(s) a=1 b=24; I want convert s to 3characters as output is==>'abc'

回答(2 个)

Andrei Bobrov
Andrei Bobrov 2012-2-20
a = reshape(s-'0',[],3)'
out = sprintf('%d',(a*(2.^(size(a,2)-1:-1:0).'))')
OR
a = reshape(s,[],3)'
out = sprintf('%d',bin2dec(a)')

Image Analyst
Image Analyst 2012-2-20
How about this:
S = '101011101011010101011010'
S = reshape(S, length(S)/8, 8)
decimalValues = bin2dec(S)
In the command window:
S =
101011101011010101011010
S =
10100100
01011011
11110110
decimalValues =
164
91
246
  2 个评论
user06
user06 2015-4-29
ok this is fine .. it is giving the decimal values. now what should i do to get string by these bits?
Stephen23
Stephen23 2015-4-29
编辑:Stephen23 2015-4-29
@Anamika jain: This will help you:

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Numeric Types 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by