В основе представления символов в строках лежит их кодирование с помощью сменных
таблиц кодов.
Такие таблицы ставят в однозначное соответствие каждому символу некоторый код со значением от 0 до 255.
Вектор, содержащий строку символов, в системе MATLAB задается следующим образом:
S= 'Any Characters' — вектор, компонентами которого являются числовые коды, соответствующие символам [
Символ внутри такой строки дублируется (заменяется на ''). — Примеч. ред.
].
Первые 127 чисел — это коды ASCII, представляющие буквы латинского языка, цифры и спецзнаки. Они образуют основную таблицу кодов. Вторая таблица (коды от 128 до 255) является дополнительной и может использоваться для представления символов других языков, например русского. Длина вектора S соответствует числу символов в строке, включая пробелы. Апостроф внутри строки символов должен вводиться как два апострофа ' '.
К основным
строковым функциям
относятся следующие:
char (X) — преобразует массив X положительных целых чисел (числовых кодов от 0 до 65 535) в массив символов системы MATLAB (причем только первые 127 кодов — английский набор ASCII, со 128 до 255 — расширенный набор ASCII) и возвращает его, на платформе Windows при значении выше 65 535 выдает предупреждение об ошибке, но возвращает русскую букву я (я повторяется так же, как char(255+256rt), где п — целые неотрицательные числа) [
Результат char(x) при х>65535 зависит от платформы, русификации и т. д. — Примеч. ред.
];
Пример:
» X=reshape(32:127,32,3);
» S= char(X')
S=
!"#$*&'()*+.-./0123456789::<=>?
(aABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
"abcdefghijklmnopqrstuvwxyz{|}-[]
» t1=
'
computer'
» t2='for';
» t3='home':
» t4='users':
» S = Char(tl.t2.t3.t4)
S =
computer
for
home
users
char (С) — преобразует каждый элемент строкового массива ячеек в ряды массива символов, если строки массива ячеек разного размера, к ним в конце добавляются пробелы (осуществляется набивка (padding) в терминах MATLAB) так чтобы в каждом ряде массива символов было одинаковое число символов;