【问题标题】:how do i do a specific conversion for a text of data to integers in matlab?如何在matlab中将数据文本特定转换为整数?
【发布时间】:2012-09-30 23:21:06
【问题描述】:

我正在尝试将数据文本转换为整数以进行 RSA 加密。 例如,诸如 cat 之类的单词将被翻译为 30120。 其中3是c,01是a,20是t。

所以每个字母都匹配一个从 1 到 26 的整数,其中 26 是 z。

【问题讨论】:

  • 我想你会想多想一下这个。这段文字有空格吗?任何回车或制表符?有标点符号或数字吗?
  • 首先为简单起见,不会有任何空格、标点符号或大写字母。

标签: function matlab rsa


【解决方案1】:

内部函数double 会将字符串转换为整数序列,表示字符串中元素的字符代码。所以,例如:

double('cat') 

返回

99    97   116

一点算术就能得到你想要的数字。

【讨论】:

    【解决方案2】:

    这应该给你一些开始。

    abc = 'abcdefghijklmnopqrstuvwxyz';
    word = 'cat';
    str = '';
    for i = 1:length(word); 
        idx = strfind(abc, word(i));
        str = [str,num2str(idx,'%02d')]
    end
    num = str2double(str)
    

    【讨论】:

    • 如果重要的话,我相信如果你正确使用 strfind 并且可以找到一种在没有循环的情况下构建“str”的方法,我相信你可以在没有循环的情况下执行此操作,但这需要一点时间玩。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-15
    • 2015-06-03
    • 2018-03-19
    相关资源
    最近更新 更多