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'

Antworten (2)

Andrei Bobrov
Andrei Bobrov am 20 Feb. 2012

1 Stimme

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 am 20 Feb. 2012

0 Stimmen

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 Kommentare

user06
user06 am 29 Apr. 2015
ok this is fine .. it is giving the decimal values. now what should i do to get string by these bits?
Stephen23
Stephen23 am 29 Apr. 2015
Bearbeitet: Stephen23 am 29 Apr. 2015
@Anamika jain: This will help you:

Melden Sie sich an, um zu kommentieren.

Kategorien

Gefragt:

am 20 Feb. 2012

Bearbeitet:

am 29 Apr. 2015

Community Treasure Hunt

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

Start Hunting!

Translated by