Как называется кодировка для представления символов, вводимых с клавиатуры
Обновлено: 21.11.2024
Стандарт Unicode — это универсальный стандарт кодирования символов, используемый для представления текста для компьютерной обработки. Версии стандарта Unicode полностью совместимы и синхронизированы с соответствующими версиями международного стандарта ISO/IEC 10646. Стандарт Unicode предоставляет дополнительную информацию о символах и их использовании. Любая реализация, совместимая с Unicode, также совместима с ISO/IEC 10646.
Стандарт Unicode обеспечивает согласованный способ кодирования многоязычного простого текста и упорядочивает хаотичное положение вещей, которое затрудняет его распознавание. обмениваться текстовыми файлами на международном уровне. Пользователи компьютеров, имеющие дело с многоязычным текстом, — деловые люди, лингвисты, исследователи, ученые и другие — обнаружат, что стандарт Unicode значительно упрощает их работу. Математики и технические специалисты, которые регулярно используют математические символы и другие технические символы, также найдут ценность в стандарте Unicode.
Дизайн Unicode основан на простоте и согласованности ASCII, но выходит далеко за рамки ограниченных возможностей ASCII. кодировать только латинский алфавит. Стандарт Unicode обеспечивает возможность кодирования всех символов, используемых в письменных языках мира. Чтобы кодирование символов было простым и эффективным, стандарт Unicode присваивает каждому символу уникальное числовое значение и имя.
Стандарт Unicode и ISO/IEC 10646 поддерживают три формы кодирования (UTF-8, UTF-16, UTF). -32), которые используют общий репертуар персонажей. Эти формы кодирования позволяют кодировать до миллиона символов. Этого достаточно для всех известных требований к кодировке символов, включая полное покрытие всех исторических письменностей мира, а также общепринятых систем записи.
Какие символы включает стандарт Unicode?
Стандарт Unicode определяет коды для символов, используемых во всех основных современных языках. Шрифты включают европейские алфавитные шрифты, ближневосточные шрифты с письмом справа налево и многие алфавиты Азии.
Стандарт Unicode также включает знаки препинания, диакритические знаки, математические символы, технические символы, стрелки, дингбаты, смайлики. и т. д. Он предоставляет коды для диакритических знаков, которые изменяют знаки символов, такие как тильда (~), которые используются в сочетании с базовыми символами для обозначения букв с ударением (например, ñ). В целом стандарт Unicode предоставляет коды для более чем 135 000 символов мировых алфавитов, других систем письма и наборов символов.
Большинство общеупотребительных символов помещаются в первые 64 000 кодовых точек, т.е. область кодового пространства, которая называется базовой многоязычной плоскостью, или сокращенно BMP. Есть четырнадцать других дополнительных плоскостей, доступных для будущего кодирования других символов, с более чем 800 000 неиспользуемых кодовых точек. Дополнительные символы рассматриваются для добавления в будущие версии стандарта.
Стандарт Unicode также резервирует кодовые точки для частного использования. Поставщики или конечные пользователи могут назначать их внутри для своих собственных знаков и символов или использовать их со специализированными шрифтами. В BMP есть 6400 кодовых точек для частного использования и еще 131 068 дополнительных кодовых точек для частного использования, если 6400 недостаточно для конкретных приложений.
Кодирование форм
Стандарты кодирования символов определяют не только идентификатор каждого символа и его числовое значение или кодовую точку, но и способ представления этого значения в битах.
Стандарт Unicode определяет три формы кодирования, которые позволяют одни и те же данные должны передаваться в формате, ориентированном на байты, слова или двойные слова (т. е. в 8, 16 или 32 битах на кодовую единицу). Все три формы кодирования кодируют один и тот же общий репертуар символов и могут быть эффективно преобразованы друг в друга без потери данных. Консорциум Unicode полностью поддерживает использование любой из этих форм кодирования в качестве совместимого способа реализации стандарта Unicode.
UTF-8 популярен для HTML и подобных протоколов. UTF-8 — это способ преобразования всех символов Unicode в кодировку байтов переменной длины. Его преимущества заключаются в том, что символы Unicode, соответствующие знакомому набору ASCII, имеют те же значения байтов, что и ASCII, и что символы Unicode, преобразованные в UTF-8, могут использоваться с большей частью существующего программного обеспечения без обширной перезаписи программного обеспечения.
UTF-16 популярен во многих средах, где необходимо сбалансировать эффективный доступ к символам с экономичным использованием памяти. Он достаточно компактен, и все часто используемые символы помещаются в одну 16-битную кодовую единицу, в то время как все остальные символы доступны через пары 16-битных кодовых единиц.
UTF-32 полезен там, где недостаточно памяти. не беспокоит, но желателен доступ к символам с фиксированной шириной и единым кодом. Каждый символ Unicode кодируется в одной 32-битной кодовой единице при использовании UTF-32.
Всем трем формам кодирования требуется не более 4 байтов (или 32 бита) данных для каждого символа.
Определение элементов текста
Письменные языки представлены текстовыми элементами, которые используются для создания слов и предложений. Эти элементы могут быть такими буквами, как «w» или «M»; символы, подобные тем, которые используются в японской хирагане для обозначения слогов; или иероглифы, такие как те, которые используются в китайском языке для представления полных слов или понятий.
Определение текстовых элементов часто меняется в зависимости от процесса обработки текста. Например, в исторической сортировке испанского языка «ll»; считается одним текстовым элементом. Однако при вводе испанских слов "ll" представляет собой два отдельных текстовых элемента: "l" и "l".
Чтобы не решать, что является текстовым элементом, а что нет в разных процессах, стандарт Unicode определяет элементы кода (обычно называемые «символами»). Элемент кода является фундаментальным и полезным для компьютерной обработки текста. По большей части элементы кода соответствуют наиболее часто используемым элементам текста. В случае испанской буквы «ll» стандарт Unicode определяет каждую букву «l» как отдельный элемент кода. Задача объединения двух букв "l" вместе для сортировки по алфавиту возложена на программное обеспечение, обрабатывающее текст.
Обработка текста
Компьютерная обработка текста включает обработку и кодирование. Рассмотрим, например, пользователя текстового процессора, печатающего текст на клавиатуре. Системное программное обеспечение компьютера получает сообщение о том, что пользователь нажал комбинацию клавиш «T», которая кодируется как U+0054. Текстовый процессор сохраняет число в памяти, а также передает его программному обеспечению дисплея, отвечающему за вывод символа на экран. Программное обеспечение дисплея, которое может быть оконным менеджером или частью самого текстового процессора, использует число в качестве индекса для поиска изображения буквы «Т», которое оно рисует на экране монитора. Процесс продолжается по мере того, как пользователь вводит новые символы.
Стандарт Unicode напрямую касается только кодировки и семантики текста. Он не относится к другим действиям, выполняемым над текстом. Например, текстовый процессор может проверять ввод машинистки по мере ввода и отображать орфографические ошибки волнистым подчеркиванием. Или он может вставлять разрывы строк, когда подсчитывает определенное количество символов, введенных с момента последнего разрыва строки. Важным принципом стандарта Unicode является то, что он не указывает, как выполнять эти процессы, если кодирование и декодирование символов выполняются правильно.
Интерпретация символов и визуализация глифов
Разница между идентификацией точки кода и ее отображением на экране или бумаге имеет решающее значение для понимания роли стандарта Unicode в обработке текста. Символ, определяемый кодовой точкой Unicode, является абстрактным объектом, таким как «ЛАТИНСКИЙ СИМВОЛ ЗАГЛАВНАЯ А» или «БЕНГАЛЬСКАЯ ЦИФРА 5». Знак, сделанный на экране или бумаге, называемый глифом, является визуальным представлением символа.
Стандарт Unicode не определяет изображения глифа. Стандарт определяет, как интерпретируются символы, а не как отображаются глифы. Программный или аппаратный механизм рендеринга компьютера отвечает за внешний вид символов на экране. Стандарт Unicode не определяет размер, форму и стиль экранных символов.
Последовательности символов
Принципы стандарта Unicode
- Универсальный репертуар
- Логический порядок
- Эффективность
- Объединение
- Символы, а не глифы
- Динамическая композиция
- Семантика
- Стабильность
- Обычный текст
- Конвертируемость
Наборы символов многих существующих международных, национальных и корпоративных стандартов включены в стандарт Unicode. Например, его первые 256 символов взяты из широко используемого набора символов Latin-1.
Дублирование кодировки символов предотвращается за счет унификации символов в сценариях разных языков; символы, эквивалентные по форме, получают единый код. Консолидация китайского/японского/корейского (CJK) достигается за счет присвоения единого кода каждой идеограмме, которая является общей для более чем одного из этих языков. Это вместо предоставления отдельного кода для идеограммы каждый раз, когда она появляется на другом языке. (Эти три языка имеют много тысяч одинаковых символов, потому что их наборы идеограмм произошли от одного и того же источника.)
Стандарт Unicode определяет алгоритм представления текста с двунаправленным поведением, например, арабский и английский. Символы хранятся в логическом порядке. Стандарт Unicode включает символы для указания изменения направления при смешивании сценариев разной направленности.Для всех скриптов текст Unicode находится в логическом порядке в представлении памяти, соответствующем порядку, в котором текст набирается на клавиатуре.
Назначение кодов символов
Каждому элементу кода, определяемому стандартом Unicode, присваивается один номер. Каждое из этих чисел называется кодовой точкой и при упоминании в тексте указывается в шестнадцатеричном формате после префикса "U+". Например, кодовая точка U+0041 — это шестнадцатеричное число 0041 (равное десятичному числу 65). Он представляет символ «A» в стандарте Unicode.
Каждому персонажу также присваивается уникальное имя, определяющее его и никакое другое. Например, коду U+0041 назначается имя символа «ЛАТИНСКАЯ ЗАГЛАВНАЯ БУКВА A». U + 0A1B назначается имя персонажа «ГУРМУХИ БУКВА ЧА». Эти имена Unicode идентичны именам ISO/IEC 10646 для тех же символов.
Стандарт Unicode группирует символы вместе по алфавиту в блоки. сценарий — это любая система связанных символов. Стандарт сохраняет порядок символов в исходном наборе, где это возможно. Когда символы сценария традиционно расположены в определенном порядке — например, в алфавитном порядке — стандарт Unicode упорядочивает их в своем кодовом пространстве, используя тот же порядок, когда это возможно. Блоки сильно различаются по размеру. Например, блок кириллицы не превышает 256 кодовых точек, а блоки для идеограмм CJK содержат многие тысячи кодовых точек.
Символы логически сгруппированы по всему диапазону кодовых точек, который называется кодовым пространством. Кодирование начинается с U+0000 со стандартными символами ASCII и продолжается греческим, кириллическим, еврейским, арабским, индийским и другими алфавитами; затем следуют символы и знаки препинания. Кодовое пространство продолжается Хираганой, Катаканой и Бопомофо. За унифицированными ханьскими идеограммами следует полный набор современного хангыля. Диапазон суррогатных кодовых точек зарезервирован для использования с UTF-16. Ближе к концу BMP находится ряд кодовых точек, зарезервированных для частного использования, за которым следует ряд символов совместимости. Символы совместимости — это варианты символов, которые кодируются только для обеспечения возможности перекодирования в более ранние стандарты и старые реализации, в которых они использовались.
Диапазон кодовых точек в BMP и два очень больших диапазона в дополнительных плоскостях зарезервированы как области частного использования. Эти кодовые точки не имеют универсального значения и могут использоваться для символов, специфичных для программы или группы пользователей в их собственных целях. Например, группа хореографов может разработать набор символов для танцевальной записи и закодировать символы, используя кодовые точки в пользовательском пространстве. Набор программ верстки может использовать те же кодовые точки, что и управляющие коды, для позиционирования текста на странице. Суть пространства пользователя заключается в том, что стандарт Unicode не присваивает значения этим кодовым точкам и резервирует их как пространство пользователя, обещая никогда не придавать им значения в будущем.
Соответствие стандарту Unicode
Стандарт Unicode устанавливает недвусмысленные требования соответствия с точки зрения принципов и архитектуры кодирования, которые он воплощает. Соответствующая реализация имеет следующие минимальные требования:
- Символы взяты из определенного репертуара Unicode.
- Символы кодируются в соответствии с одной из форм кодирования.
- Символы интерпретируются в соответствии с семантикой Unicode.
- Неназначенные коды не используются.
- Неизвестные символы не повреждаются.
Реализации стандарта Unicode совместимы, если они следуют правилам кодирования символов в последовательности байтов, слов или двойных слов, которые действуют для выбранной формы кодирования, и иным образом интерпретируют символы в соответствии со спецификацией Unicode. Полные требования соответствия доступны в последней версии стандарта Unicode.
Стабильность
Стандарту Unicode есть куда расти, и в будущих версиях будет закодировано значительное количество скриптов. Этот процесс является строго аддитивным, другими словами, в то время как символы могут быть добавлены или могут быть определены новые свойства символов, никакие символы не будут удалены или интерпретированы несовместимым образом. Эти гарантии стабильности позволяют кодировать данные в Unicode и ожидать, что будущие реализации, соответствующие более поздней версии стандарта Unicode, смогут интерпретировать их так же, как реализации, соответствующие более ранней версии стандарта.
Юникод и ISO/IEC 10646
Стандарт Unicode очень тесно связан с международным стандартом ISO/IEC 10646 (также известным как универсальный набор символов, сокращенно UCS).Тесное сотрудничество и официальная связь между комитетами гарантируют, что все дополнения к любому стандарту скоординированы и синхронизированы, так что два стандарта поддерживают точно такой же репертуар символов и кодировку. Формы кодирования Unicode точно соответствуют формам кодирования, также определенным в ISO/IEC 10646.
Для получения дополнительной информации
Достоверную информацию можно найти в последней версии стандарта Unicode. Эта ссылка приведет вас к самой последней версии стандарта. Обновления и исправления для стандарта Unicode также публикуются на веб-сайте Unicode.
Веб-сайт Unicode также содержит дополнительные технические материалы и информацию об использовании стандарта Unicode. См. часто задаваемые вопросы, глоссарий Unicode и ресурсы Unicode.
Один бит может иметь 2 возможных состояния. 2 1 =2. 0 или 1.
Два бита могут иметь 4 возможных состояния. 2 2 =4. 00,01,10,11. (т.е. 0-3)
Четыре бита могут иметь 16 возможных состояний. 2 4 =16. 0000,0001,0010,0011 и т. д. (т.е. 0-15)
Семь битов могут иметь 128 возможных состояний. 2 7 =128. 0000000,0000001,0000010 и т. д. (т.е. 0-127).
Восемь битов могут иметь 256 возможных состояний. 2 8 =256. 00000000,00000001,00000010 и т. д. (например, 0–255).
Восемь бит называются байтом. Однобайтовые наборы символов могут содержать 256 символов. Однако текущим стандартом является Unicode, который использует два байта для представления всех символов во всех системах письма в мире в одном наборе.
Общий код, используемый для символов с диакритическими знаками, — Quoted-Printable. Любые расширенные символы (больше 127) кодируются строкой из трех символов. Например, é = E9. 8BIT (по сути, несжатые символьные данные) также является допустимым кодом MIME и сегодня является наиболее распространенным способом отправки символов с диакритическими знаками.
Чтобы код работал на двух разных машинах с разными операционными системами и разными встроенными наборами символов, мы все должны согласовать стандартные наборы символов, в которые мы будем переводить. Международная организация по стандартизации (ISO) установила такие стандарты. Например, стандартный набор символов для западноевропейских языков — ISO-LATIN-I (или ISO-8859-1). Но если компьютер знает, какой набор символов используется, его можно запрограммировать на перевод и отображение этих символов, независимо от того, какой у компьютера собственный набор символов. é — это 130-й символ в ISO-LATIN-I.
Программа электронной почты, совместимая с MIME, будет использовать заголовки электронной почты, чтобы отслеживать, какой набор символов и схема кодирования применяются к каждому сообщению электронной почты. Веб-браузер сделает то же самое. Это позволяет программе преобразовывать и знать, как отображать символы на любом заданном компьютере, поэтому вся система кодирования прозрачна (пользователь не замечает) для пользователя. Для MIME Quoted-Printable на западноевропейских языках эти заголовки могут выглядеть так:
-
X-Mailer: QUALCOMM Windows Eudora версии 5.1
Mime-версия: 1.0
Тип контента: текстовый/обычный; charset=iso-8859-1
Content-transfer-encoding: quoted-printable
И эти же заголовки MIME также используются на веб-страницах, чтобы веб-браузер, такой как Internet Explorer, Chrome или Firefox, знал, как отображать каждую страницу, независимо от того, где она была создана и где находится. просмотрено. Пока компьютер знает, какой набор символов представлен, он знает, какой символ отображать.
Клавиатуры
Вы также должны в первую очередь ввести символы в компьютер. Windows и Mac уже давно позволяют делать это с помощью сочетаний клавиш. Лучший способ ввода символов в Windows — это выбрать раскладку клавиатуры, которая включает символы, которые вы хотите ввести. Для ввода западноевропейских языков на американской клавиатуре самым безопасным и простым в использовании вариантом, если вы уже знаете, как печатать на американской клавиатуре, является международная клавиатура США. В Windows 7, 8, 10 найдите вкладку «Клавиатуры и языки» на панели управления «Регион и язык», чтобы изменить или добавить клавиатуру. Хотя многие программы могут иметь встроенные сочетания клавиш, преимущество использования клавиатуры в операционной системе (Windows, Mac) заключается в том, что она будет работать для всех программ.
Интерактивную справку по клавиатуре см.: p>
Справка по клавиатуре
Неанглийские клавиатуры Windows 7 ; Общие для Windows и Mac; Windows 10
Учебник по проблемам с кодами символов
Пол Лихи — программист с более чем десятилетним опытом работы в ИТ-индустрии как штатным разработчиком, так и сторонним разработчиком.
Чтобы компьютер мог хранить текст и числа, понятные людям, необходим код, преобразующий символы в числа.Стандарт Unicode определяет такой код с помощью кодировки символов.
Причина, по которой кодировка символов так важна, заключается в том, что все устройства могут отображать одну и ту же информацию. Пользовательская схема кодирования символов может прекрасно работать на одном компьютере, но проблемы возникнут, если вы отправите тот же текст кому-то другому. Он не поймет, о чем вы говорите, если не поймет и схему кодирования.
Кодировка символов
Вся кодировка символов присваивает номер каждому символу, который можно использовать. Вы можете сделать кодировку символов прямо сейчас.
Именно здесь вступают в действие общеотраслевые стандарты. Если вся компьютерная индустрия использует одну и ту же схему кодирования символов, каждый компьютер может отображать одни и те же символы.
Что такое Юникод?
ASCII (американский стандартный код для обмена информацией) стал первой широко распространенной схемой кодирования. Однако он ограничен только 128 определениями символов. Это нормально для наиболее распространенных английских символов, цифр и знаков препинания, но имеет некоторые ограничения для остального мира.
Естественно, остальной мир хочет использовать такую же схему кодирования для своих персонажей. Однако какое-то время, в зависимости от того, где вы находились, для одного и того же кода ASCII мог отображаться другой символ.
В конце концов, другие части мира начали создавать свои собственные схемы кодирования, и все стало немного запутанным. Мало того, что схемы кодирования были разной длины, программам нужно было выяснить, какую схему кодирования они должны использовать.
Стало очевидным, что необходима новая схема кодирования символов, и именно тогда был создан стандарт Unicode. Целью Unicode является унификация всех различных схем кодирования, чтобы можно было максимально ограничить путаницу между компьютерами.
В настоящее время стандарт Unicode определяет значения для более чем 128 000 символов, и его можно увидеть в Консорциуме Unicode. Он имеет несколько форм кодировки символов:
- UTF-8: для кодирования английских символов используется только один байт (8 бит). Он может использовать последовательность байтов для кодирования других символов. UTF-8 широко используется в системах электронной почты и в Интернете.
- UTF-16: использует два байта (16 бит) для кодирования наиболее часто используемых символов. При необходимости дополнительные символы могут быть представлены парой 16-битных чисел.
- UTF-32: использует четыре байта (32 бита) для кодирования символов. Стало очевидным, что по мере роста стандарта Unicode 16-битное число слишком мало для представления всех символов. UTF-32 может представлять каждый символ Unicode как одно число.
Примечание. UTF означает единицу преобразования Unicode.
Кодовые точки
Кодовая точка — это значение, которое присваивается символу в стандарте Unicode. Значения в соответствии с Unicode записываются в виде шестнадцатеричных чисел и имеют префикс U+.
Например, чтобы закодировать символы, которые мы рассматривали ранее:
Эти кодовые точки разделены на 17 различных секций, называемых плоскостями, которые обозначаются номерами от 0 до 16. Каждая плоскость содержит 65 536 кодовых точек. Первая плоскость, 0, содержит наиболее часто используемые символы и известна как базовая многоязычная плоскость (BMP).
Единицы кода
Схемы кодирования состоят из кодовых единиц, которые используются для предоставления индекса того, где символ расположен на плоскости.
В качестве примера рассмотрим кодировку UTF-16. Каждое 16-битное число является единицей кода. Кодовые единицы могут быть преобразованы в кодовые точки. Например, символ плоской ноты ♭ имеет кодовую точку U+1D160 и находится во второй плоскости стандарта Unicode (дополнительная идеографическая плоскость). Он будет закодирован с использованием комбинации 16-битных кодовых единиц U+D834 и U+DD60.
Для BMP значения кодовых точек и кодовых единиц идентичны. Это позволяет использовать ярлык для UTF-16, который экономит много места для хранения. Для представления этих символов нужно использовать только одно 16-битное число.
Как Java использует Unicode?
Java была создана примерно в то время, когда в стандарте Unicode были определены значения для гораздо меньшего набора символов. Тогда считалось, что 16 бит будет более чем достаточно для кодирования всех символов, которые когда-либо понадобятся. Имея это в виду, Java был разработан для использования UTF-16. Тип данных char изначально использовался для представления 16-битной кодовой точки Unicode.
Начиная с Java SE v5.0, char представляет собой единицу кода. Это не имеет большого значения для представления символов, которые находятся в базовой многоязычной плоскости, потому что значение кодовой единицы такое же, как кодовая точка. Однако это означает, что для персонажей на других планах необходимы два символа.
Важно помнить, что один тип данных char больше не может представлять все символы Юникода.
Символ, обычно сокращенно обозначаемый как "char", представляет собой компьютерный символ, букву или число. [1] Клавиатура — это устройство ввода, которое вводит символ при нажатии клавиши. В Scratch символы используются в строках, аргументах и любых ситуациях в редакторе Scratch или воспроизводимом проекте, где требуется текст.
Компьютеры используют наборы кодировок для представления символов. Поскольку компьютеры понимают только двоичный код, символы идентифицируются определенными двоичными последовательностями. В мире существует множество вариаций и стандартов, которые менялись на протяжении всей истории. [2]
Содержание
Типы персонажей
Письма
Буквы — это символы алфавита. В английском языке они состоят из строчных и прописных букв в диапазоне от букв «A» до «Z». Комбинируя буквы, можно создавать слова, а комбинируя слова, можно создавать предложения. «Персонаж» — это просто более универсальный мир, который включает в себя буквы и другие символы.
Символы
Эмодзи
Эмодзи – это небольшие изображения и смайлики, являющиеся частью технического стандарта Unicode [3], который применяется на большинстве компьютеров, телефонов и подобных устройств. Они являются распознаваемыми компьютерными символами и даже могут использоваться в названиях проектов и самих проектах (начиная с Scratch 3.0). В последнее десятилетие популярность смайликов резко возросла благодаря их забавному и визуальному характеру, а также легкому доступу на мобильных телефонах. Чтобы ввести эмодзи в проект, существуют различные способы:
- Выполните ввод на мобильном телефоне со страницы проекта.
- Скопируйте и вставьте эмодзи из другого интернет-источника
- Использование экранной клавиатуры с поддержкой эмодзи на компьютере
В Windows 10 экранная клавиатура по умолчанию не поддерживает эмодзи. Однако есть вторая экранная клавиатура, называемая «Сенсорная клавиатура», которая поддерживает смайлики. Сенсорную клавиатуру можно использовать даже без сенсорного экрана; он поддерживает традиционную компьютерную мышь. Чтобы включить его, щелкните правой кнопкой мыши панель задач и выберите «Показать кнопку сенсорной клавиатуры». Оттуда значок сенсорной клавиатуры появится в правой части панели задач. На виртуальной клавиатуре кнопка «смайлик» отображает параметры эмодзи. Другой способ – нажать клавишу с логотипом Windows и клавишу с точкой, чтобы отобразить набор смайликов и каомодзи.
Числа
Числа также являются символами, часто используемыми для представления количества в контексте математических операций или в предложении. Отдельные числовые символы можно комбинировать для получения более крупных или более точных чисел. Основные числа находятся в диапазоне от «0» до «9». Десятичные числа часто используют "." символ для представления десятичной точки. В то время как "." сам по себе символ является символом, а не числом, его можно использовать с числом.
Непечатаемые символы
Некоторые символы "невидимы", так как компьютеры не отображают их на экране. [4] Примером этого является клавиша «escape». Другие примеры включают символ для клавиши «enter», клавиши «tab» и даже значения «null». Null — это не то, что имеет какое-либо визуальное представление, но важно в компьютерном программировании. В языке C символ "null" используется для обозначения конца строки.
Ограничения
Некоторые компьютерные программы могут разрешать использование определенных символов только в определенных обстоятельствах. Например, Scratch не позволяет вводить буквы или символы в цифровую вставку. Программист сам решает, какие символы разрешены, а какие нет. Многие веб-сайты позволяют использовать в именах пользователей только буквы, цифры и несколько символов. Пароли часто позволяют использовать больший диапазон символов для повышения безопасности.
Строки
Строка представляет собой цепочку символов. Строкой может быть фраза, слово или даже случайный набор символов. Передача идей, как правило, не может осуществляться с помощью одного персонажа, поэтому несколько символов используются в унисон. Однако строка может состоять из одного символа. В Scratch строки обычно используются в списках, блоках, таких как Say(), кодировании и декодировании облачных данных и многом другом.
Извлечение символа из строки
В Scratch буква () в блоке [] используется для извлечения одного символа из строки. Например, если необходимо получить первую букву слова «Hello World», в блок можно ввести аргументы, чтобы сформировать букву (1) слова [Hello World] .
Кодирование
Компьютер не распознает символы, как человек. Человек видит хмурый смайлик и интерпретирует его как грусть. Человек видит числа и ассоциирует с ними математику.Компьютер — это просто машина, которая представляет символы в стандартизированных форматах, известных как кодировка. [5] По сути, всем символам присвоены кодовые значения. Обычно значения кода организованы для удобства программиста. Например, коды букв будут упорядочены по алфавиту. Числа также будут в простом порядке.
ASCII
ASCII — это ограниченный набор символов из-за его истории. В прошлом компьютеры могли обрабатывать только до 8 бит, поэтому набор символов ASCII был ограничен 127 символами. В основном это были символы, наиболее связанные с английским языком. В следующей таблице приведены фрагменты некоторых символов из набора: [7]
Стандарты сопоставления
В разных странах разные символы ANSI представляют разные значения. Сама система кодирования (ANSI) использует ту же логику, но то, какие коды связаны с какими символами, различается. [9] Стандарт отображения — это метод определения кодов для желаемых символов. ISO-8859 и его варианты являются наиболее распространенными схемами сопоставления западных языков в ANSI. [10]
Ввод символов с клавиатуры
Клавиатуры имеют ограниченное количество символов. Если, например, кто-то хочет ввести символ «°», клавишу «alt» можно удерживать нажатой, пока «0176» набирается на правой цифровой клавиатуре клавиатуры. [11] «176» — это соответствующий код знака градуса в ANSI. Эта функция встроена в большинство клавиатур.
UTF-8 — это более современный стандарт, охватывающий более миллиона символов и не требующий обязательного использования нескольких байтов на символ. Стандарт можно использовать во всем мире, позволяя использовать китайские символы в том же тексте, что и испанские символы. [12] UTF-8 кодирует в определенные биты информацию о длине последовательности битов для представления символа. Например, если определенный символ имеет очень длинный код для представления самого себя, несколько битов будут действовать как «флажок», чтобы предупредить компьютер о том, что это более длинный символ. Затем компьютер будет учитывать следующий байт для одного символа.
Некоторые символы представлены в кодировке меньшим количеством байтов, чем другие. Таким образом, это позволяет файлам быть меньше по размеру, чем кодировка, которая обрабатывает каждый символ с одинаковым количеством байтов. Кодировка символов USC4 представляет все символы с 4 байтами. В то время как некоторые символы в UTF-8 могут быть представлены 4 байтами, многие представлены только 1 или 2. В следующей таблице показано количество байтов, необходимых для диапазона символов: [13]
Из-за этой настройки все исходные символы ASCII (0–127) по-прежнему занимают всего 1 байт в кодировке UTF-8. Наименее распространенные символы занимают большее количество байтов.
Другие варианты
Также существуют UTF-16 и UTF-32, но они менее распространены, чем UTF-8. UTF-16 использует минимум 16 бит или 2 байта для каждого символа. [14] Можно предположить, что это сделает файлы больше, чем UTF-8, но некоторые символы в символе UTF-8, которые представлены 3 байтами, могут быть представлены 2 байтами в UTF-16. Символ, представленный 16 битами в UTF-8, на самом деле занимает 3 байта, потому что некоторые биты используются для обозначения того, что необходимо несколько байтов. В UTF-16 16-битный символ может быть представлен 2 байтами.
Юникод
Консорциум Unicode – это некоммерческая организация, которая разрабатывает стандарт Unicode для компьютерных символов.
Юникод — это стандартизированный набор символов, в котором может храниться более миллиона символов. UTF-8 кодирует набор символов Unicode. Сам Unicode не указывает, как кодировать свои данные в двоичный код, это просто большая база данных кодовых значений многих символов. [15] Unicode постоянно пополняется новыми значениями, так как еще не все заполнено.
Использование в Scratch
Предварительное знание стандартов компьютерного кодирования символов может быть полезным при разработке проектов Scratch. В частности, использование облачных переменных для хранения большего количества данных, чем значение счетчика или рекорда, требует специальной системы кодирования. Облачные переменные способны хранить только числа, поэтому, если необходимо сохранить текст, его необходимо преобразовать в числовые коды. Это соответствует тому, как работают компьютеры, поскольку они переводят текст в последовательности "1" и "0".
Подобно кодировке ASCII, можно разработать систему, в которой каждому символу назначается код, а облачная переменная содержит последовательность кодов. Когда данные должны быть прочитаны, их необходимо декодировать путем поиска символов, связанных с их соответствующими кодовыми значениями. Поскольку облачные переменные позволяют использовать числа от 0 до 9, меньшее количество цифр может представлять тот же диапазон символов, что и ASCII, для которого требуется 7 цифр (битов) в двоичном формате на символ.
UTF-8 также можно воспроизвести с помощью облачных переменных, используя некоторые цифры для представления того, сколько других цифр являются частью одного и того же символа перед переходом к следующему. Учтите, что первое число в облачной переменной означает, сколько следующих цифр составляет код следующего символа. Если закодированные данные облачной переменной — 3 564 2 98 , то код первого символа — «564», за которым следует «98». «3» означает, что в первом символе 3 цифры, а «2» означает, что во втором символе 2 цифры.
Тогда можно использовать список, где индекс соответствует коду символа. Этот тип системы был бы полезен, если проект должен распознавать большое количество символов. Ограничения можно установить, разрешив только определенные символы, используя более простую систему кодирования на основе ASCII с фиксированным количеством цифр на символ. Это, однако, может вызвать проблемы, если чье-то имя пользователя с «недопустимым» символом попытается закодировать в облачную переменную. Такие обстоятельства могли бы объясняться более сложной логикой.
Читайте также: