Преобразование из кода 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 функция, на мой взгляд, является native2unicode. Он обрабатывает множество различных схем кодирования, позволяя вам явно указать тот, который будет использоваться через его второй входной аргумент:
unicodestr = native2unicode (байты, кодировка) преобразует байты в Представление Unicode с предположением, что байты находятся в схема кодирования символов, заданная методом кодирования. Входной аргумент кодировка не должна содержать символов ( " ) или должна быть именем или псевдонимом для схемы кодирования. Некоторые примеры: "UTF-8", "latin1", Нас-ASCII', а 'и shift_jis'. Если кодировка не указана или не имеет символы ( " ), используется схема кодирования по умолчанию. кодирование может быть символьный вектор или строковый скаляр.
пример использования:
>> ascii_codes = [97 115 100];
>> my_string = native2unicode(ascii_codes,'ASCII')
my_string =
'asd'