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

MATLAB ® сохраняет все символы как символы Unicode ® с помощью 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"

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

См. также

| | | | | | | | | | |

Похожие темы

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