在MATLAB中从ASCII代码转换为字符串

时间:2011-03-04 11:04:37

标签: string matlab ascii

如果我在matlab中有一个字符串,我可以使用double将其转换为ASCII代码矢量:

>> my_string = 'asd';
>> double(my_string)

ans =

    97   115   100

我怎样才能回到原点?即,如果我在MATLAB矢量中有ASCII码,我该如何创建相应的字符串?

e.g

ascii_codes = [97 115 100];

应该转换为......

my_string = 'asd'

2 个答案:

答案 0 :(得分:20)

chardocumentation)怎么样?例如char(ascii_codes)

答案 1 :(得分:1)

在我看来,char函数的一个很好的替代方法是native2unicode函数。它处理许多不同的编码方案,允许您通过其第二个输入参数显式指定要使用的编码方案:

  

unicodestr = native2unicode(bytes,encoding)将字节转换为a   Unicode表示,假设字节在   编码指定的字符编码方案。输入参数   编码必须没有字符('')或必须是名称或别名   对于编码方案。一些例子是' UTF-8' latin1',   ' US-ASCII'和' Shift_JIS'。如果编码未指定或没有   字符(''),使用默认编码方案。编码可以   字符向量或字符串标量。

用法示例:

>> ascii_codes = [97 115 100];
>> my_string = native2unicode(ascii_codes,'ASCII')

my_string =

    'asd'