如何将二进制消息转换为字符串

时间:2014-05-06 16:19:16

标签: string matlab binary ascii

我有一个二进制流,

message_1 = '0100100001000101010011000100110001001111' 

现在我想将这个二进制流转换为它的等效字符,即结果应该是'HELLO'。请帮帮我

2 个答案:

答案 0 :(得分:4)

使用此 -

char(bin2dec(reshape(message_1,8,[])'))'

答案 1 :(得分:2)

从字符转换为数字(-'0');将这些位排列成8(reshape)组;将每个组转换为0到255之间的数字(sum(bsxfun(@times, ...)));从那到char

>> char(sum(bsxfun(@times, reshape(message_1-'0',8,[]), 2.^(7:-1:0).')))
ans =
HELLO