在MATLAB中将ASCII字符串转换为二进制矢量吗?

Bja*_*sen 4 string binary matlab

如何将MATLAB中的字符串转换为该字符串的ASCII表示形式的二进制向量?

例如,我想转换

string = 'Mary had a little lamb';
Run Code Online (Sandbox Code Playgroud)

变成一个看起来像的向量:

[0 1 0 0 1 1 0 1 0 1 1 0 0 0 0 1, etc.]
\-------v------/ \-------v------/
        M                a         
Run Code Online (Sandbox Code Playgroud)

sta*_*rdt 5

您是否希望数组的条目是数字而不是字符?如果是,那么这应该起作用:

s = 'Mary had a little lamb';
a = dec2bin(s,8)';
a = a(:)'-'0'
Run Code Online (Sandbox Code Playgroud)

显示此操作的示例输出是:

>> s = 'Ma';          
>> a = dec2bin(s,8)'; 
>> class(a)
ans =
char
>> a = a(:)'-'0'      
a =
  Columns 1 through 13
     0     1     0     0     1     1     0     1     0     1     1     0     0
  Columns 14 through 16
     0     0     1
>> class(a)
ans =
double
Run Code Online (Sandbox Code Playgroud)