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
| single
| string
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64