如果我在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'
答案 0 :(得分:20)
char
(documentation)怎么样?例如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'