В терминологии кодировки символов , кодовая точка или позиция кода представляет собой любое числовое значение, составляющее пространство кода. Многие кодовые точки представляют собой отдельные символы, но они также могут иметь другие значения, например, для форматирования.
Например, схема кодирования символов ASCII содержит 128 кодовых точек в диапазоне 0 шестнадцатеричный - 7F шестнадцатеричный, расширенный ASCII включает 256 кодовых точек в диапазоне от 0 шестнадцатеричное до FF шестнадцатеричное и Unicode состоит из 1,114,112 кодовых точек в диапазоне от 0 шестнадцатеричный до 10FFFF шестнадцатеричный. Пространство кода Unicode разделено на семнадцать плоскостей (основная многоязычная плоскость и 16 дополнительных плоскостей), каждая из которых содержит 65 536 (= 2) кодовых точек. Таким образом, общий размер кодового пространства Unicode составляет 17 × 65 536 = 1114 112.
Понятие кодовой точки используется для абстракция, чтобы различать:
Это это потому, что можно сделать эти различия, чтобы:
Для Unicode конкретная последовательность битов называется a кодовая единица - для кодировки UCS-4 любая кодовая точка кодируется как 4- байт (октет ) двоичные числа, в то время как в кодировке UTF-8 разные кодовые точки кодируются как последовательности длиной от одного до четырех байтов, образуя самосинхронизирующийся код. См. сравнение кодировок Unicode для деталей. Кодовые точки обычно присваиваются абстрактным символам . Абстрактный символ не графический глиф, а блок текстовых данных. Однако кодовые точки также могут быть оставлены зарезервированными для будущего назначения (большая часть кодового пространства Unicode не назначена) или для других назначенных функций.
Различие между кодовой точкой и соответствующим абстрактным символом не выражено в Юникоде, но очевидно для многих других схем кодирования, где для одного кодового пространства могут существовать многочисленные кодовые страницы.
Концепция кодовой точки - часть решения Unicode для решения сложной головоломки, с которой столкнулись разработчики кодировок символов в 1980-х годах. Если бы они добавили больше битов на символ для размещения более крупных наборов символов, это дизайнерское решение также будет представлять собой неприемлемую трату скудных на тот момент вычислительных ресурсов для пользователей латинского алфавита (которые составляли подавляющее большинство пользователей компьютеров в то время), так как эти дополнительные биты всегда будут обнуляться для таких пользователей. Кодовая точка позволяет избежать этой проблемы, ломая старую идею прямого однозначного соответствия между символами и конкретными последовательностями битов.