如果我在Matlab中有一个字符串,我可以使用double
将其转换为ASCII码的向量:
>> my_string = 'asd';
>> double(my_string)
ans =
97 115 100
如何进行反向操作?即,如果在MATLAB向量中存在ASCII代码,如何创建相应的字符串?
例如:
ascii_codes = [97 115 100];
应该转换为...
my_string = 'asd'
在我看来,一个很好的替代char函数的选择是native2unicode函数。它处理了许多不同的编码方案,允许您通过第二个输入参数明确指定要使用的编码方案:
unicodestr = native2unicode(bytes, encoding)将字节转换为Unicode表示形式,并假定字节采用encoding指定的字符编码方案。输入参数encoding必须没有字符(''),或者它必须是编码方案的名称或别名。一些示例是“UTF-8”、“latin1”、“US-ASCII”和“Shift_JIS”。如果未指定编码或编码没有字符(''),则使用默认编码方案。encoding可以是字符向量或字符串标量。
使用示例:
>> ascii_codes = [97 115 100];
>> my_string = native2unicode(ascii_codes,'ASCII')
my_string =
'asd'