asciimat
Преобразует массив текста в коды ASCII/UTF8 и обратно
Синтаксис
unicodes = asciimat(text) text = asciimat(unicodes)
Аргументы
- text
 - отдельный текст, или вектор, матрица или гиперматрица текстов.
                    Элементы текста могут иметь разную длину и могут включать в
                    себя расширенные символы UTF-8.
                    
                    
asciimat(…)всегда конкатенирует столбцы текстаtextвдоль строк, как входной или выходной аргумент. - unicodes
 - отдельный целочисленный ASCII-код, вектор, матрица или гиперматрица 1-байтных чисел ASCII или юникода.
 
Описание
asciimat(…) преобразует массив текста text
            в массив соответствующих 1-байтных кодов ascii или UTF-8 unicodes,
            и наоборот.
asciimat(…) является функцией совместимости с Octave/Matlab,
            с целью обеспечить в преобразователе кода Matlab-в-Scilab m2sci
            эквивалентность для суммирования и вычитания некоторых
            строковых символов или с числами. Таким образом,
            
>> ['ab' 'c' ; 'd' 'ef'] + 4 ans = 101 102 103 104 105 106 >> ['ab';'cd'] + ['ef';'gh'] ans = 198 200 202 204 >> ['ab';'cd'] - ['ef';'gh'] ans = -4 -4 -4 -4
может быть преобразовано преобразователем Matlab-в-Scilab с
asciimat(['ab' 'c' ; 'd' 'ef']) + 4 asciimat(['ab';'cd']) + asciimat(['ef';'gh']) asciimat(['ab';'cd']) - asciimat(['ef';'gh'])
![]()  | asciimat(…) не следует использовать без преобразователя. | 
unicodes = asciimat(text)
Для скаляра или строки text,
                asciimat(text) эквивалентно ascii(text).
                Все строчки склеиваются друг с другом перед построением вектора-строки
                кодов их символов.
![]()  | Для любого массива  text любых
                размеров, сделанных только из пустых строк "",
                asciimat(text) возвращает [].
                Действительно, asciimat(…) считает ""
                как пустой вектор (индексированных) символов как в Octave/Matlab, а не
                как текстовый объект Scilab. | 
Для двумерных матриц text,
                asciimat(text) строит уникальный столбец текста,
                склеивая столбцы text вдоль строк.
Затем для каждой строки/строчки столбца вычисляется вектор-строка кодов ASCII или UTF-8 всех её символов.
Наконец, все результирующие вектор-строки кодов конкатенируются
                по вертикали для построения матрицы unicodes.
                Слишком короткие векторы кодов предварительно дополняются кодом
                ascii(" ")==32.
Для гиперматрицы text,
                обработка, в основном, та же самая, как если бы все строки
                text по всем размерностям больше двух были предварительно
                составлены в двумерную матрицу. Результирующая двумерная матрица
                unicodes, наконец, преобразуется в гиперматрицу.
Размеры массивов unicodes и text 
                отличаются только по количеству их столбцов.
text = asciimat(unicodes)
Для скаляра или строки
                unicodes,
                asciimat(unicodes) эквивалентна
                ascii(unicodes).
                Она возвращает символьные строки, чьи символы имеют указанные коды.
                
![]()  | Нули стоят для кода пустого символа  "", поскольку
                    настоящий символ ascii(0) пока что не поддерживается
                    в Scilab 6. | 
Для столбца, матрицы или гиперматрицы
                unicodes, каждая строка unicodes
                обрабатывается отдельно и строит отдельную символьную строку Scilab.
Все завершающие пробелы ascii(32) построенных
                символьных строк отсекаются.
Наконец, text имеет размер unicodes,
                за исключением size(text,2)==1.
Примеры
asciimat([]) asciimat("") asciimat(0) r = asciimat("A") asciimat(r) // Со СТРОКОЙ на входе: r = asciimat(["A" "BC"]) asciimat(r) r = asciimat(["A" "" "BC"]) // "" в строках игнорируются asciimat(r)
--> asciimat([])
 ans  =
    []
--> asciimat("")
 ans  =
    []
--> asciimat(0)
 ans  =
  ""
--> r = asciimat("A")
 r  =
   65.
--> asciimat(r)
 ans  =
  "A"
--> // With an input ROW:
--> r = asciimat(["A" "BC"])
 r  =
   65.   66.   67.
--> asciimat(r)
 ans  =
  "ABC"
--> r = asciimat(["A" "" "BC"])      // "" in rows are ignored
 r  =
   65.   66.   67.
--> asciimat(r)
 ans  =
  "ABC"
Со столбцом на входе:
asciimat(["" ; ""]) asciimat((97:110)')' strsplit("a":"n")' r = asciimat(["ABC" ; "" ; "D"]) // Дополнение коротких строк с помощью 32 asciimat(r) r = asciimat(["AB" ; "αβ"]) // используется 1-байтный код UTF-8 asciimat(r) // завершающие пробелы ascii(32) отсекаются
--> asciimat(["" ; ""])
 ans  =
    []
--> asciimat((97:110)')'
 ans  =
  "a"  "b"  "c"  "d"  "e"  "f"  "g"  "h"  "i"  "j"  "k"  "l"  "m"  "n"
--> strsplit("a":"n")'
 ans  =
  "a"  "b"  "c"  "d"  "e"  "f"  "g"  "h"  "i"  "j"  "k"  "l"  "m"  "n"
--> r = asciimat(["ABC" ; "" ; "D"]) // Padding short rows with 32
 r  =
   65.   66.   67.
   32.   32.   32.
   68.   32.   32.
--> asciimat(r)
 ans  =
  "ABC"
  ""
  "D"
--> r = asciimat(["AB" ; "αβ"])      // 1-byte UTF-8 coding is used
 r  =
   65.    66.    32.    32.
   206.   177.   206.   178.
--> asciimat(r)                      // Trailing ascii(32) spaces are trimmed
 ans  =
  "AB"
  "αβ"
С двумерной матрицей на входе:
r = asciimat([" AB", " ", "CD " ; "α", "βγ", " "]) asciimat(r)
--> r = asciimat([" AB", " ", "CD " ; "α", "βγ", " "]) r = 32. 65. 66. 32. 67. 68. 32. 206. 177. 206. 178. 206. 179. 32. --> asciimat(r) ans = " AB CD" "αβγ"
С трёхмерной гиперматрицей на входе:
x = ["a €" "bδ " ; "" "" ; "" "" ]; x2 = [" α" "βδc" ; "" "" ; "ε4" ""]; h = cat(3, x, x2) r = asciimat(h) asciimat(r)
--> h = cat(3, x, x2) h = (:,:,1) "a €" "bδ " "" "" "" "" (:,:,2) " α" "βδc" "" "" "ε4" "" --> r = asciimat(h) r = (:,:,1) 97. 32. 226. 130. 172. 98. 206. 180. 32. 32. 32. 32. 32. 32. 32. 32. 32. 32. 32. 32. 32. 32. 32. 32. 32. 32. 32. (:,:,2) 32. 206. 177. 206. 178. 206. 180. 99. 32. 32. 32. 32. 32. 32. 32. 32. 32. 32. 206. 181. 52. 32. 32. 32. 32. 32. 32. --> asciimat(r) ans = (:,:,1) "a €bδ" "" "" (:,:,2) " αβδc" "" "ε4"
История
| Версия | Описание | 
| 6.1.1 | 
  | 
| Report an issue | ||
| << compatibility_functions | compatibility_functions | cellstr >> | 
