Цифры, которые мы используем ежедневно, — это лишь одна из множества систем записи чисел, существующих в мире. Привычные нам «арабские» цифры на самом деле пришли из Индии, а их современный вид сформировался в арабскомфе и позже в Европе. Однако в Азии, на Ближнем Востоке и в Африке до сих пор применяются собственные графические системы, которые могут сбить с толку неподготовленного путешественника или программиста.

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

Арабские цифры: западный и восточный варианты

Под названием арабские цифры скрываются два принципиально разных набора глифов. Западноарабские (0–9) используются в Европе, Америке и большей части мира. Восточноарабские (٠–٩) распространены на Ближнем Востоке, в Иране, Пакистане и частично в Северной Африке. Хотя числовые значения идентичны, формы символов кардинально отличаются.

Например, нуль в восточном варианте выглядит как точка ٠, а единица — как вертикальная черта ١. Пятёрка ٥ напоминает сердечко, а шесть ٦ — перевёрнутую семерку. Эти отличия часто приводят к ошибкам при распознавании текста OCR-системами и при ручном вводе данных.

  • 🌍 Западноарабские — стандарт Unicode U+0030–U+0039
  • 🌙 Восточноарабские — блок Arabic-Indic U+0660–U+0669
  • 📱 Расширенные восточноарабские (персидские/урду) — U+06F0–U+06F9
  • 🔤 Кодовые точки отличаются, хотя визуально похожи
⚠️ Внимание: в персидском и урдю некоторые цифры (четвёрка, пять, шесть) имеют уникальные формы, отличные от классических восточноарабских. Не تخلпывайте их при верстке.
📊 Какую систему цифр вы чаще встречаете в работе?
Западноарабские (0-9)
Восточноарабские (٠-٩)
Индийские (देवनागरी)
Китайские/Японские
Другие

Индийские цифры и деванагари

Родина современной позиционной системы счисления — Древняя Индия. Цифры деванагари (०–९) используются в хинди, маратхи, непали и других языках на письме деванагари. Их формы стали прототипами для арабских цифр, но сохранили уникальную графику: например, двойка २ похожа на перевёрнутую латинскую «h», а три ३ — на греческую «ξ».

В Южной Индии применяются собственные системы: тамильские, телугу, каннада, малаялам. Они тоже произошли от брахми, но визуально сильно расходятся. Для корректного отображения необходимы шрифты с поддержкой соответствующих блоков Unicode.

  • 🕉 Деванагари — U+0966–U+096F
  • 🌴 Тамильские — U+0BE6–U+0BEF (нуль отсутствует, используется пустота или точка)
  • 📜 Брахми — историческое письмо III в. до н.э., предок всех индийских систем
  • 💡 Ноль как символ появился в Индии не ранее V в. н.э.
ЗначениеЗападноарабскиеВосточноарабскиеДеванагариТамильские
00٠०—
11١१௧
55٥५௫
99٩९௯

Китайские и японские числовые системы

В Китае сосуществует три системы записи чисел: иероглифические (,, …), сучжоу — позиционная система с нулем, и финансовые — усложнённые иероглифы для защиты от подделки в банковских документах. Сучжоу-цифры (,, …) исторически использовались в торговле и бухгалтерии, сегодня встречаются на рынках и в традиционных календарях.

Япония заимствовала китайские иероглифы (кандзи) для чисел, но также использует две слоговые системы: хирагана и катакана для фонетической записи. В современном японском тексте часто смешивают арабские цифры (горизонтальная запись) и кандзи (вертикальная запись).

Особенности сучжоу-цифр

Сучежоу-цифры (Suzhou numerals) — это позиционная система с нулем, использовавшаяся в Китае с XIII по XX век. Они записываются вертикально, разряды идут сверху вниз. Цифры 1–3 имеют специальные знаки:,,. Для 4–9 используются модифицированные кандзи. Сегодня их можно встретить на ценниках в традиционных магазинах Гонконга и в старинных книгах.

⚠️ Внимание: финансовые иероглифы обязательны для чеков и договоров в Китае и Японии. Обычные кандзи (,, ) легко подделать добавлением черт.

Другие азиатские системы: тайские, кхмерские, монгольские

Юго-Восточная Азия представляет зоопарк уникальных цифровых систем. Тайские цифры (๐–๙) визуально напоминают деванагари, но имеют более округлые формы. Кхмерские (០–៩) — одни из самых старых в регионе, с характерными засечками. Монгольские (᠐–᠙) используются в традиционном вертикальном письме и отличаются от арабских прототипов.

Для разработчиков важно помнить: шрифты по умолчанию в ОС могут не содержать глифы для этих систем. При локализации интерфейсов необходимо явно указывать font-family с поддержкой соответствующих блоков Unicode.

☑️ Проверка поддержки азиатских цифр в проекте

Выполнено: 0 / 4
  • 🇹🇭 Тайские — U+0E50–U+0E59, используются в Таиланде параллельно с арабскими
  • 🇰🇭 Кхмерские — U+17E0–U+17E9, официальные в Камбодже
  • 🇲🇳 Монгольские — U+1810–U+1819, для традиционного письма
  • 🇱🇦 Лаосские — U+0ED0–U+0ED9, близки к тайским

Исторические системы: римские, вавилонские, майя

Римские цифры (I, V, X, L, C, D, M) — аддитивная система без нуля и позиционности. Они до сих пор применяются для нумерации веков, глав книг, часов на циферблатах. Вавилонская сексагесимальная система (база 60) оставила след в измерении времени и углов. Система майя — вигесимальная (база 20) с нулем в виде раковины, уникальная для мезоамерики.

Эти системы не используются для вычислений, но встречаются в исторических текстах, эпиграфике и дизайне. Их правильная интерпретация требует знания контекста: например, римская «IV» означает 4, но на некоторых старинных часах пишут «IIII».

⚠️ Внимание: Римская система не имеет символа нуля, что делает невозможным запись пустого разряда и выполнение столбиковой арифметики.

Практическое значение: кодировка, шрифты и локализация

В современном IT основную роль играет стандарт Unicode, назначающий каждой цифре уникальную кодовую точку. Однако визуальное представление зависит от шрифта. Один и тот же символ U+0661 (восточноарабская единица) в шрифте Noto Sans Arabic и Amiri может выглядеть по-разному. Это критично для банковских приложений, где неверное отображение цифры ведёт к финансовым ошибкам.

При разработке многоязычных интерфейсов используйте dir="rtl" для языков с правого налево (арабский, персидский, урдю), но помните: числа внутри RTL-текста всё равно пишутся слева направо (LTR). Браузеры обрабатывают это через алгоритм Unicode Bidirectional Algorithm (UBA).

💡

Всегда тестируйте числовые поля ввода с клавиатурами целевых локалей: виртуальные клавиатуры Android/iOS выдают разные наборы цифр в зависимости от системного языка.

Частые ошибки при работе с международными цифрами

Самая распространённая ошибка — жёсткое кодирование формата числа в коде (например, parseInt(str, 10) без учёта локали). Функции парсинга в JS, Python, Java ожидают западноарабские цифры. Если пользователь вводит восточноарабские или деванагари, парсинг упадёт с ошибкой или вернёт NaN.

Другая проблема — сортировка. Лексикографическая сортировка строк «1», «10», «2» даёт порядок 1, 10, 2. Для корректной работы нужен Intl.Collator с опцией numeric: true. Также не забывайте про разделители разрядов и десятичные знаки: в Европе запятая, в США точка, в некоторых арабских странах — момент (،).

💡

Никогда не доверяйте ввод пользователя без нормализации: приведите все цифры к западноарабским (U+0030–U+0039) перед сохранением в БД или вычислениями.

FAQ: Частые вопросы о цифрах в разных странах
Почему арабские цифры называются арабскими, если они из Индии?

Система пришла в Европу через арабских математиков (аль-Хорезми, аль-Кинди) в XII–XIII вв. Европейцы назвали её «арабской» по пути распространения, хотя арабы сами называли её «индийской» (al-arqām al-hindiyya).

Есть ли у китайцев свой ноль?

Да, в сучжоу-системе ноль обозначается кружком (U+3007). В иероглифической записи нуля нет — разряды определяются позицией знаков. Финансовые иероглифы также не имеют нуля.

Можно ли смешивать цифры разных систем в одном тексте?

Технически Unicode позволяет, но это плохая практика. Смешивание ломает поиск, сортировку и доступность для скринридеров. Для каждого языка используйте его родную систему или единый стандарт (западноарабские) во всём документе.

Как ввести тайские цифры на обычной клавиатуре?

В Windows/Mac переключите раскладку на тайскую (Thai Kedmanee или Thai Pattachote). Цифры вводятся клавишами верхнего ряда с зажатым Shift или через специальную панель ввода. На мобильных — выберите тайскую клавиатуру в настройках.

Почему в некоторых шрифтах восточноарабские цифры выглядят иначе?

Существует два основных набора: стандартные восточноарабские (U+0660–U+0669) и расширенные (персидские/урду, U+06F0–U+06F9). Шрифты могут подменять глифы в зависимости от атрибута языка (lang="fa" vs lang="ar").