首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Matlab字符串运算

Matlab字符串运算
EN

Stack Overflow用户
提问于 2012-06-10 23:48:32
回答 2查看 310关注 0票数 1

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

代码语言:javascript
复制
message='hello my name is kamran';
messagebin=dec2bin(message);

有没有什么方法可以把它存储在数组中?

EN

回答 2

Stack Overflow用户

发布于 2012-06-11 00:16:21

我真的不确定您想在这里做什么,但如果您需要连接二进制表示的行(这是一个数字字符乘以bits_per_char的矩阵),则代码如下:

代码语言:javascript
复制
message = 'hello my name is kamran';
messagebin = dec2bin(double(message));
linearmessagebin = reshape(messagebin',1,numel(messagebin));

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

笔记

正如有人亲切地向我指出的那样,为了得到正确的结果,您必须在“序列化”messagebin之前对其进行转置。

票数 1
EN

Stack Overflow用户

发布于 2012-06-11 01:12:27

如果您希望结果为数字矩阵,请尝试:

代码语言:javascript
复制
>> 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的序列

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10970080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档