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.

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

| | | | | | | | | | |

Похожие темы

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