在MATLAB中将ASCII码转换为字符串

8

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

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

ans =

    97   115   100

如何进行反向操作?即,如果在MATLAB向量中存在ASCII代码,如何创建相应的字符串?

例如:

ascii_codes = [97 115 100];

应该转换为...

my_string = 'asd'
2个回答

20

那么char文档)如何呢?例如char(ascii_codes)


1

在我看来,一个很好的替代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'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接