2016-11-07 68 views
0

我有這樣的結構邏輯轉換爲char(仍然二進制)類

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加密),現在我想記錄這個新的二進制結果轉換爲char可以發送加密的消息。

感謝您的幫助

回答

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') 
+0

的最佳解決方案! – obchardon

+1

只是認爲'txt_bin = ch(〜txt + 1)'應該是'txt_bin = ch(txt + 1)' – obchardon

+0

@obchardon好的,回答更新了一些行是不同的! – rahnema1