MATLAB® хранит все символы как символы Unicode® с помощью кодирования UTF-16, где каждый символ представлен значением цифрового кода. (Unicode включает набор символов ASCII как первые 128 символов, таким образом, символы ASCII имеют те же цифровые коды в Unicode и ASCII.) И символьные массивы и строковые массивы используют это кодирование. Можно преобразовать символы в их значения цифрового кода при помощи различных числовых функций преобразования. Можно преобразовать числа в символы с помощью char
функция.
Можно преобразовать символы в целые числа, которые представляют их кодовые обозначения Unicode. Чтобы преобразовать отдельный символ или символьный массив, используйте любую из этих функций:
double
uint16
uint32
, или uint64
Лучшая практика состоит в том, чтобы использовать double
функция. Однако, если необходимо сохранить числовые значения как целые числа, используйте беззнаковое целое, имеющее по крайней мере 16 битов, потому что MATLAB использует кодирование UTF-16.
Преобразуйте вектор символов в кодовые обозначения Unicode с помощью double
функция.
C = 'MATLAB'
C = 'MATLAB'
unicodeValues = double(C)
unicodeValues = 1×6
77 65 84 76 65 66
Вы не можете преобразовать символы в массиве строк непосредственно к кодовым обозначениям Unicode. В частности, 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
Можно преобразовать значения Unicode в символы с помощью char
функция.
D = [77 65 84 76 65 66]
D = 1×6
77 65 84 76 65 66
C = char(D)
C = 'MATLAB'
Типичное использование для char
должен создать персонажи, вы не можете ввести и добавить их к строкам. Например, создайте персонаж для символа степени и добавьте его к строке. Кодовое обозначение Unicode для символа степени равняется 176.
deg = char(176)
deg = '°'
myLabel = append("Current temperature is 21",deg,"C")
myLabel = "Current temperature is 21°C"
Для получения дополнительной информации о Unicode, включая отображения между символами и кодовыми обозначениями, смотрите Unicode.
char
| double
| int16
| int32
| int64
| int8
| single
| string
| uint16
| uint32
| uint64
| uint8