Программируй & типизируй
Қосымшада ыңғайлырақҚосымшаны жүктеуге арналған QRRuStore · Samsung Galaxy Store
Huawei AppGallery · Xiaomi GetApps

автордың кітабынан сөз тіркестері  Программируй & типизируй

Инкогнито 8003
Инкогнито 8003дәйексөз келтірді1 апта бұрын
В зависимости от предполагаемого паттерна доступа (больше операций чтения или операций записи) лучше подойдет либо первое представление, либо второе.
Комментарий жазу
Инкогнито 8003
Инкогнито 8003дәйексөз келтірді1 апта бұрын
Поскольку оперативная память непрерывна, достаточно высока вероятность попадания массива в одну страницу памяти и кэширования целиком, что позволит обращаться к нему очень быстро
Комментарий жазу
Инкогнито 8003
Инкогнито 8003дәйексөз келтірді1 апта бұрын
В общем случае, если массив начинается по адресу base, а размер элемента M, то элемент с индексом N находится по адресу base + N × M.
Комментарий жазу
Инкогнито 8003
Инкогнито 8003дәйексөз келтірді1 апта бұрын
Мы не относим массивы переменной длины к простым типам данных, поскольку они реализуются на основе массивов фиксированной длины и/или ссылок, как мы увидим в этом разделе.
Комментарий жазу
Инкогнито 8003
Инкогнито 8003дәйексөз келтірді1 апта бұрын
Интерпретация последовательности байтов как текста с неправильной кодировкой (например, пытаться интерпретировать текст в кодировке UTF-16 как текст в UTF-8, и наоборот). Необходимо знать, какова кодировка текста, полученного от другого компонента в виде байтовой последовательности. В различных языках приняты разные кодировки для текста по умолчанию, поэтому нельзя просто интерпретировать байтовые последовательности как строки — можно получить неправильную интерпретацию
Комментарий жазу
Инкогнито 8003
Инкогнито 8003дәйексөз келтірді1 апта бұрын
Выполнение операций над кодированным текстом на уровне символов, а не графем.
Комментарий жазу
Инкогнито 8003
Инкогнито 8003дәйексөз келтірді1 апта бұрын
Например, библиотека grapheme-splitter для JavaScript предназначена для работы как с символами, так и с графемами. Установить ее можно с помощью коман­ды npminstallgrapheme-splitter. Библиотека позволяет реализовать функцию lineBreak() для разбиения текста на уровне графем путем разбиения его на массив графем с последующей группировкой их в строки графем длиной lineLength, как показано в листинге 2.12.
Комментарий жазу
Инкогнито 8003
Инкогнито 8003дәйексөз келтірді1 апта бұрын
Чаще всего используются кодировки UTF-16 и UTF-8. В JavaScript применяется кодировка UTF-16. Единица кодировки в ней составляет 16 бит. Кодовые точки, которые умещаются в это количество битов (0x0 до 0xFFFF), представляются с помощью одного 16-битного целого числа, а кодовые точки, требующие более 16 бит (от 0x10000 до 0x10FFFF), представляются с помощью двух 16-битных значений. UTF-8, наиболее широко используемая кодировка, развивает этот подход: единица кодировки составляет 8 бит и кодовые точки представляются с помощью одного, двух, трех или четырех восьмибитных значений
Комментарий жазу
Инкогнито 8003
Инкогнито 8003дәйексөз келтірді1 апта бұрын
Глиф (glyph) — это конкретное представление символа. C полужирным шрифтом и C курсивом — две различные визуализации данного символа. Графема (grapheme) — неделимая единица, которая теряет смысл при разбиении на составные части, как в примере с женщиной-полицейским. Графему можно представить с помощью нескольких глифов. Эмодзи Apple для женщины-полицейского внешне отличается от эмодзи Microsoft; они представляют собой различные глифы, визуализирующие одну графему (рис. 2.6)
Комментарий жазу
Инкогнито 8003
Инкогнито 8003дәйексөз келтірді1 апта бұрын
Эмодзи «женщина-полицейский» состоит из двух отдельных эмодзи: «полицейский» и знак, обозначающий женский пол. Они объединяются с помощью соединительного символа нулевой длины "\ud002". Он не имеет визуального представления и служит для объединения других символов.
Комментарий жазу