ФЭНДОМ


ИМЯ

byte2char, char2byte - преобразование между символами и байтами

РЕЗЮМЕ

include "sys.m";
sys := load Sys Sys->PATH;

byte2char: fn(buf: array of byte, n: int): (int, int, int);
char2byte: fn(c: int, buf: array of byte, n: int): int;

ОПИСАНИЕ

Byte2char конвертирует последовательность байт в один символ Unicode. Buf это массив байт и n это индекс первого байта для проверки в массиве. Функция возвращает тьюпл, скажем, (c, length, status), определяющий результат преобразования: c это результирующий символ Unicode, status имеет не нулевое значение если байты являются допустимой последовательностью UTF или нуль в противном случае, и length это количество байт участвовавших в преобразовании. Если входная последовательность недостаточно длинна для установления ее допустимости, byte2char расходует ноль байт; если входная последовательность не является допустимой, byte2char расходует один входной байт и генерирует символ ошибки (Sys->UTFerror, 16r80),который печатается в большинстве шрифтов как заключенный в прямоугольник знак вопроса.
Char2byte выполняет противоположную byte2char функцию. Она преобразует Unicode символ c, в последовательность UTF байт, которая помещается в успешные байты в массив начиная с n-ой позиции buf[.IRn]. Длина наибольшей последовательности UTF для одиночного символа Unicode является Sys->UTFmax (3) байта. Если преобразование было успешным, char2byte возвращает количество байт помещенных в буфер. Если буфер слишком мал для хранения результата, char2byte возвращает ноль и оставляет массив без изменений.

ИСХОДНЫЙ ТЕКСТ

/libinterp/runt.c

СМОТРИ ТАКЖЕ

sys-intro(2), sys-utfbytes(2), utf(6)

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

Викия не будет доступна для последующих модификаций. Если вы желаете продолжать работать со страницей, то, пожалуйста, отключите расширение для блокировки рекламы.

Также на ФЭНДОМЕ

Случайная вики