Unicode и значения ASCII

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

Преобразуйте символы в значения цифрового кода

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

  • double

  • uint16uint32, или 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.

Смотрите также

| | | | | | | | | | |

Похожие темы

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