Преобразование из кода ASCII в строку в MATLAB

если у меня есть строка в matlab, я могу преобразовать ее в вектор ASCII-кодов, используя double:

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

ans =

    97   115   100

как я могу вернуться в другую сторону? т. е., если у меня есть код ASCII в векторе MATLAB, как я могу создать соответствующую строку?

Эл.г

ascii_codes = [97 115 100];

должно быть преобразовано в...

my_string = 'asd'

2 ответов


как о char (документация)? Например!--1-->?


отличная альтернатива char функция, на мой взгляд, является native2unicode. Он обрабатывает множество различных схем кодирования, позволяя вам явно указать тот, который будет использоваться через его второй входной аргумент:

unicodestr = native2unicode (байты, кодировка) преобразует байты в Представление Unicode с предположением, что байты находятся в схема кодирования символов, заданная методом кодирования. Входной аргумент кодировка не должна содержать символов ( " ) или должна быть именем или псевдонимом для схемы кодирования. Некоторые примеры: "UTF-8", "latin1", Нас-ASCII', а 'и shift_jis'. Если кодировка не указана или не имеет символы ( " ), используется схема кодирования по умолчанию. кодирование может быть символьный вектор или строковый скаляр.

пример использования:

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

my_string =

    'asd'