Символ (вычисление)

редактировать
примитивный тип данных

В компьютер и машинные телекоммуникации По терминологии, символ - это единица информации, которая примерно соответствует графеме, графемоподобной единице или символу, например в алфавите или слоговой в письменной форме естественного языка.

Примеры символов включают буквы, числовые цифры, общие знаки препинания (например, «.» Или «-») и пробел. Концепция также включает в себя управляющие символы , которые соответствуют не видимым символам, а скорее инструкциям по форматированию или обработке текста. Примеры управляющих символов включают возврат каретки или табуляцию, а также инструкции для принтеров или других устройств, которые отображают или иным образом обрабатывают текст.

Символы обычно объединяются в строки.

Исторически термин «символ» также использовался для обозначения определенного количества смежных битов. Хотя сегодня обычно предполагается, что символ относится к 8 битам (один байт ), в прошлом также использовались другие определения, такие как 4 или 6 бит.

Содержание
  • 1 Кодировка
  • 2 Терминология
    • 2.1 Объединение символов
  • 3 символа
  • 4 символа слова
  • 5 См. Также
  • 6 Примечания
  • 7 Ссылки
  • 8 Внешние ссылки
Кодировка

Компьютеры и коммуникационное оборудование представляют символы с помощью кодировки символов, которая присваивает каждый символ чему-либо - целое число, представленное последовательностью цифры, обычно - которые могут быть сохранены или переданы через сеть. Двумя примерами обычных кодировок являются ASCII и кодировка UTF-8 для Unicode. В то время как большинство кодировок символов отображают символы в числа и / или последовательности битов, код Морзе вместо этого представляет символы с помощью серии электрических импульсов различной длины.

Терминология

Исторически термин «символ» широко использовался профессионалами отрасли для обозначения закодированного символа, часто в соответствии с определением языка программирования или API. Точно так же набор символов широко использовался для обозначения определенного набора символов, который был отображен на определенные последовательности битов или числовые коды. Термин глиф используется для описания определенного внешнего вида символа. Многие компьютерные шрифты состоят из глифов, индексированных числовым кодом соответствующего символа.

С появлением и повсеместным принятием Unicode и наборов бит-независимых кодированных символов, символ все чаще рассматривается как единица информации, независимая от какого-либо конкретного визуального проявления. Международный стандарт ISO / IEC 10646 (Unicode) определяет символ или абстрактный символ как «член набора элементов, используемых для организации, управления или представления данных». Определение Unicode дополняет это пояснительными примечаниями, которые, помимо прочего, побуждают читателя различать символы, графемы и глифы. Такая дифференциация является примером более широкой темы разделения представления и содержания.

. Например, еврейская буква алеф («" ») часто используется математики для обозначения некоторых видов бесконечности (ℵ), но это также используется в обычном еврейском тексте. В Юникоде эти два использования считаются разными символами и имеют два разных числовых идентификатора Юникода («кодовые точки »), хотя они могут отображаться одинаково. И наоборот, Китайская логограмма для воды ("水") может иметь несколько иной вид в текстах японских, чем в китайских текстах и ​​местных гарнитуры могут отражать это. Но, тем не менее, в Unicode они считаются одним и тем же символом и имеют одну и ту же кодовую точку.

Стандарт Unicode также различает эти абстрактные символы и закодированные символы или закодированные символы, которые были объединены с числовыми кодами, которые упрощают их представление в компьютерах.

Комбинированный символ

Комбинирующий символ также обрабатывается Unicode. Например, Unicode присваивает кодовую точку каждому из

  • 'i' (U + 0069),
  • объединяющему диэрезису (U + 0308) и
  • <38.>'ï' (U + 00EF).

Это позволяет кодировать средний символ слова «наивный» либо как одиночный символ «ï», либо как комбинацию символа «i» с объединяющей диэрезисом. : (U + 0069 СТРОЧНАЯ ЛАТИНСКАЯ БУКВА I + U + 0308 ОБЪЕДИНЕНИЕ ДИАРЕЗА); это также отображается как «ï».

Они считаются канонически эквивалентными по стандарту Unicode.

char

Символ в языке программирования C - это тип данных размером ровно один байт, который, в свою очередь, определяется как быть достаточно большим, чтобы содержать любой член «базового набора символов выполнения». Точное количество битов можно проверить с помощью макроса CHAR_BIT. Безусловно, наиболее распространенный размер - 8 бит, а стандарт POSIX требует, чтобы он был 8 бит. В более новых стандартах C char требуется для хранения кодовых единиц UTF-8, для которых требуется минимальный размер 8 бит.

A Кодовая точка Unicode требует 21 бит. Это не вписывается в char в большинстве систем, поэтому для некоторых из них используется более одного, как в кодировке переменной длины UTF-8, где каждая кодовая точка занимает от 1 до 4 байтов. Кроме того, для «символа» может потребоваться более одной кодовой точки (например, с , объединяющими символы ), в зависимости от того, что подразумевается под словом «символ».

Тот факт, что символ исторически хранился в одном байте, привел к тому, что два термина («char» и «character») использовались взаимозаменяемо в большинстве документов. Это часто сбивает с толку или вводит в заблуждение документацию, когда используются многобайтовые кодировки, такие как UTF-8, и приводит к неэффективным и неправильным реализациям функций манипулирования строками (таких как вычисление «длины» строки как количества единиц кода, а не байтов). Современная документация POSIX пытается исправить это, определяя «символ» как последовательность из одного или нескольких байтов, представляющих один графический символ или управляющий код, и пытается использовать «байт» при обращении к данным типа char. Однако он по-прежнему содержит ошибки, такие как определение массива символов как массива символов (а не массива байтов).

Юникод также может храниться в строках, состоящих из единиц кода, которые больше, чем char. Они называются «широкими символами ». Исходный тип C назывался wchar_t. Из-за того, что некоторые платформы определяют wchar_t как 16-битный, а другие определяют его как 32-битный, в последних версиях добавлены char16_t, char32_t. Даже в этом случае сохраняемые объекты могут не быть символами, например, переменная UTF-16 часто хранится в массивах char16_t.

В других языках также есть тип char. Некоторые, такие как C ++, используют 8 бит, как C. Другие, такие как Java, используют 16 бит для char, чтобы представлять значения UTF-16.

Символ слова

Символ «слово» имеет особое значение в некоторых аспектах вычислений. «Символ слова» в ASCII обычно означает букву алфавита A – Z (верхний или нижний регистр), цифры от 0 до 9 и знак подчеркивания.

Это может зависеть от используемой локализации и кодировки. Например, $ и | не являются символами слов, в то время как «é» (по-французски), «æ» или «я» (по-русски) или «ά» (по-гречески) используются в таких словах, как fédération, Αγορά или Примечания.

См. Также
Примечания
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-14 06:07:35
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте