将逻辑转换为char(仍为二进制)类

时间:2016-11-07 16:31:24

标签: matlab

我有这个结构

Name      Size            Bytes  Class      Attributes
txt        8x7            56     logical 

8×7 logical array
0   1   0   1   0   0   1
0   0   1   1   0   1   0
0   0   0   1   1   0   1
1   1   0   1   1   1   0
1   1   0   0   0   0   1
1   1   0   1   1   0   1
0   1   0   1   1   1   0
1   1   1   0   1   0   1

我想转换成那个

Name         Size            Bytes  Class    Attributes
txt_bin      8x7             112    char

1010110
1100101
1110010
1101110
1100001
1101101
0101110
0001010

两者都相同"尺寸"。我想要第二个结构,所以我可以通过char(bin2dec(txt))

获取文本

有一个众所周知的功能吗?我尝试了一些reshape ..

失败了

为了澄清上下文,我有一个明确的文本,我转换为二进制,所以我可以使用密码(Vernam crypto)进行XOR,现在我想将这个新的二进制结果转录为char以便能够发送加密的消息。

感谢您的帮助

1 个答案:

答案 0 :(得分:3)

txt = logical([...
0   1   0   1   0   0   1
0   0   1   1   0   1   0
0   0   0   1   1   0   1
1   1   0   1   1   1   0
1   1   0   0   0   0   1
1   1   0   1   1   0   1
0   1   0   1   1   1   0
1   1   1   0   1   0   1]);
ch = '01';

txt_bin = ch([~txt(1:3,:);txt(4:7,:);~txt(8,:)] + 1)

char([~txt(1:3,:);txt(4:7,:);~txt(8,:)]+'0')