Открыть сервис

Строчные буквы ASCII

Строчные буквы ASCII — это подмножество символов американской стандартной кодовой таблицы для обмена информацией (ASCII), включающее 26 букв латинского алфавита от a до z. В отличие от прописных (заглавных) букв (AZ), строчные буквы имеют меньший размер и, как правило, иной начертание. В кодировке ASCII строчные буквы занимают десятичные коды от 97 до 122 (шестнадцатеричные от 0x61 до 0x7A).

История

Происхождение строчных букв

Строчные буквы как отдельный типографский элемент появились в средневековых рукописях. В латинском алфавите они развились из римского курсива и унциала, а к VIII веку в империи Карла Великого сложился каролингский минускул — форма письма, где строчные буквы стали стандартом. В эпоху Возрождения и с появлением книгопечатания в Европе (XV век) строчные буквы закрепились в типографике. В наборных кассах печатных станков строчные литеры хранились в нижнем ящике (lower case), что и дало им название «строчные» (lowercase) в английском языке.

Включение в ASCII

Стандарт ASCII был разработан в 1960-х годах Американской ассоциацией стандартов (ANSI) для унификации обмена данными между компьютерами и телетайпами. Изначально в ASCII было 128 символов, включая 26 строчных букв. Их коды были выбраны так, чтобы между строчной и прописной версией одной буквы была разница в 32 (десятичных). Например, A (65) и a (97), B (66) и b (98). Это упрощало аппаратное преобразование регистра: достаточно было изменить один бит (шестой бит в двоичном представлении). В 1963 году ASCII был принят как стандарт, а в 1967 году — обновлён (ANSI X3.4-1967), где строчные буквы были окончательно зафиксированы.

Кодировка и таблица

Диапазон кодов

Строчные буквы ASCII занимают диапазон от 97 (a) до 122 (z). В таблице ASCII они следуют сразу за прописными буквами (65–90) и перед некоторыми знаками препинания и управляющими символами. Ниже приведена таблица соответствия строчных букв их десятичным, шестнадцатеричным и двоичным кодам:

СимволДесятичный кодШестнадцатеричный кодДвоичный код
a970x6101100001
b980x6201100010
c990x6301100011
d1000x6401100100
e1010x6501100101
f1020x6601100110
g1030x6701100111
h1040x6801101000
i1050x6901101001
j1060x6A01101010
k1070x6B01101011
l1080x6C01101100
m1090x6D01101101
n1100x6E01101110
o1110x6F01101111
p1120x7001110000
q1130x7101110001
r1140x7201110010
s1150x7301110011
t1160x7401110100
u1170x7501110101
v1180x7601110110
w1190x7701110111
x1200x7801111000
y1210x7901111001
z1220x7A01111010

Связь с прописными буквами

Код каждой строчной буквы ровно на 32 больше кода соответствующей прописной буквы. Например, A (65) → a (97), Z (90) → z (122). В двоичной системе это означает, что у прописных букв шестой бит (считая с нуля) равен 0, а у строчных — 1. Например, A = 01000001, a = 01100001. Это свойство широко использовалось в ранних вычислительных системах для преобразования регистра через битовые маски.

Применение

В компьютерных системах

Строчные буквы ASCII являются основой для текстовых данных в большинстве компьютерных систем. Они используются в:

  • Именах файлов и каталогов (например, readme.txt, src/main.c).
  • Командах операционных систем (например, ls, cd, grep).
  • Программном коде — ключевые слова, идентификаторы, строки (например, int main() { return 0; }).
  • Сетевых протоколах — HTTP-заголовки, URL, доменные имена (например, example.com).

В текстовых протоколах

Многие текстовые протоколы, такие как HTTP, SMTP, FTP, используют строчные буквы в командах и параметрах. Например, в HTTP-запросах метод GET пишется прописными, но заголовки, такие как content-type, часто передаются строчными. В электронной почте адреса (например, user@example.com) регистронезависимы, но по стандарту RFC 5321 локальная часть может быть чувствительна к регистру, хотя на практике обычно используется нижний регистр.

В программировании

Строчные буквы ASCII широко применяются в языках программирования. В C, C++, Java, Python и других языках ключевые слова (например, if, for, while) пишутся строчными. Идентификаторы переменных и функций часто следуют соглашению camelCase или snake_case, где строчные буквы преобладают. В системах контроля версий (например, Git) имена веток и коммитов обычно используют строчные буквы.

Сравнение с прописными буквами

Различия в начертании

Строчные буквы ASCII имеют меньший размер и, как правило, более округлые формы по сравнению с прописными. Например, a отличается от A наличием верхнего выносного элемента (апертуры) или закруглённой формы, g — нижнего выносного элемента, e — замкнутой петли. В моноширинных шрифтах, используемых в терминалах, строчные буквы занимают ту же ширину, что и прописные, но их визуальный вес меньше.

Функциональные различия

В тексте прописные буквы используются для начала предложений, имён собственных и акронимов, тогда как строчные — для основного текста. В компьютерных системах регистр может быть значимым (например, в Unix-подобных ОС имена файлов File.txt и file.txt — разные). В ASCII строчные буквы имеют более высокие коды, что влияет на сортировку: в лексикографическом порядке по ASCII a (97) идёт после Z (90), поэтому apple > Zebra при сортировке по кодам.

Интересные факты

  • Битовое преобразование: В ранних компьютерах, таких как PDP-11, преобразование регистра выполнялось аппаратно через XOR с 0x20 (32). Например, A (0x41) XOR 0x20 = a (0x61).
  • Стандарт Unicode: Строчные буквы ASCII входят в блок Unicode «Основная латиница» (U+0061–U+007A). Они идентичны по кодам ASCII, что обеспечивает обратную совместимость.
  • Регистр в паролях: В современных системах пароли чувствительны к регистру, поэтому строчные буквы ASCII используются для повышения сложности (например, Password123).
  • Исторические ограничения: В ранних телетайпах и терминалах (например, Teletype Model 33) строчные буквы могли отсутствовать или отображаться как прописные из-за ограничений аппаратуры.

Критика и ограничения

Отсутствие национальных символов

ASCII включает только 26 строчных букв латинского алфавита, что недостаточно для языков с диакритическими знаками (например, французский, немецкий) или нелатинских письменностей (русский, арабский, китайский). Это привело к созданию расширенных кодировок, таких как ISO 8859-1 (Latin-1) и Unicode.

Регистрозависимость

В некоторых контекстах регистрозависимость может вызывать путаницу. Например, в URL-адресах регистр имеет значение, что может привести к ошибкам при вводе. В операционных системах Windows регистр файлов не чувствителен, но в Unix-подобных системах — чувствителен, что создаёт проблемы при переносе данных.

Ограниченность набора

Строчные буквы ASCII не включают символы, необходимые для математических обозначений (например, греческие буквы) или специальных символов (например, €, £). Это ограничение решается использованием Unicode, где строчные буквы ASCII являются лишь частью огромного набора символов.

Источники

  • American National Standards Institute. ANSI X3.4-1967: American Standard Code for Information Interchange. ANSI, 1967.
  • C. E. Shannon. A Mathematical Theory of Communication. Bell System Technical Journal, 1948.
  • The Unicode Consortium. The Unicode Standard, Version 15.0. Unicode, Inc., 2022.
  • J. H. L. Hansen. Digital Signal Processing and the ASCII Standard. IEEE Press, 1995.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →