Matlab字符串操作

时间:2012-06-10 15:48:32

标签: string matlab binary

我已将字符串转换为二进制文件,如下所示

message='hello my name is kamran';
messagebin=dec2bin(message);

有没有任何方法可以将它存储在数组中?

2 个答案:

答案 0 :(得分:1)

我不确定你想在这里做什么,但是如果你需要连接二进制表示的行(这是numchars乘以bits_per_char的矩阵),这就是代码:

message = 'hello my name is kamran';
messagebin = dec2bin(double(message));
linearmessagebin = reshape(messagebin',1,numel(messagebin));

请注意,双转换会返回您的ASCII代码。我在这里无法访问Matlab安装,但是例如octave会抱怨您在原始问题中提供的代码。

注意

正如我所指出的那样,你必须在{序列化'它之前转置messagebin,以便得到正确的结果。

答案 1 :(得分:1)

如果您想将结果作为数字矩阵,请尝试:

>> str = 'hello world';
>> b = dec2bin(double(str),8) - '0'
b =
     0     1     1     0     1     0     0     0
     0     1     1     0     0     1     0     1
     0     1     1     0     1     1     0     0
     0     1     1     0     1     1     0     0
     0     1     1     0     1     1     1     1
     0     0     1     0     0     0     0     0
     0     1     1     1     0     1     1     1
     0     1     1     0     1     1     1     1
     0     1     1     1     0     0     1     0
     0     1     1     0     1     1     0     0
     0     1     1     0     0     1     0     0

每行对应一个字符。您可以轻松地将其重塑为0,1

的序列