exponenta event banner

Значения Юникод и ASCII

MATLAB ® сохраняет все символы как символы Юникод ® с использованием кодировки UTF-16, где каждый символ представлен числовым значением кода. (Юникод включает набор символов ASCII в качестве первых 128 символов, поэтому символы ASCII имеют одинаковые числовые коды в Юникоде и ASCII.) Эта кодировка используется как в символьных, так и в строковых массивах. Можно преобразовать символы в их числовые кодовые значения с помощью различных функций числового преобразования. Можно преобразовать числа в символы с помощью char функция.

Преобразование символов в числовые кодовые значения

Можно преобразовать символы в целые числа, представляющие их кодовые значения в Юникоде. Для преобразования одного символа или символьного массива используйте любую из следующих функций:

  • double

  • uint16, uint32, или uint64

Передовой практикой является использование double функция. Однако если необходимо сохранить числовые значения в виде целых чисел, используйте беззнаковые целые числа, имеющие не менее 16 битов, поскольку MATLAB использует кодировку UTF-16.

Преобразование символьного вектора в кодовые значения Юникода с помощью double функция.

C = 'MATLAB'
C = 
'MATLAB'
unicodeValues = double(C)
unicodeValues = 1×6

    77    65    84    76    65    66

Невозможно преобразовать символы в строковом массиве непосредственно в кодовые значения Юникода. В частности, double функция преобразует строки в числа, которые они представляют, точно так же, как str2double функция делает. Если double невозможно преобразовать строку в число, то она возвращает NaN значение.

str = "MATLAB";
double(str)
ans = NaN

Чтобы преобразовать символы в строке, сначала преобразуйте строку в символьный вектор или используйте фигурные скобки для извлечения символов. Затем преобразуйте символы с помощью такой функции, как double.

C = char(str);
unicodeValues = double(C)
unicodeValues = 1×6

    77    65    84    76    65    66

Преобразование числовых кодовых значений в символы

Значения Юникода можно преобразовать в символы с помощью char функция.

D = [77 65 84 76 65 66]
D = 1×6

    77    65    84    76    65    66

C = char(D)
C = 
'MATLAB'

Типичное использование для char - создание символов, которые нельзя вводить и добавлять в строки. Например, создайте символ для символа степени и добавьте его в строку. Кодовое значение Юникода для символа градуса равно 176.

deg = char(176)
deg = 
'°'
myLabel = append("Current temperature is 21",deg,"C")
myLabel = 
"Current temperature is 21°C"

Дополнительные сведения о Юникоде, включая сопоставления между символами и кодовыми значениями, см. в разделе Юникод.

См. также

| | | | | | | | | | |

Связанные темы

Внешние веб-сайты