коды ascii входят в кодировку unicode
Разница между ASCII и Unicode
главное отличие между ACII и Unicode заключается в том, что ACII представляет строчные буквы (az), прописные буквы (AZ), цифры (0-9) и символы, такие как знаки препинания, а Unicode представляет букв
Содержание:
главное отличие между ASCII и Unicode заключается в том, что ASCII представляет строчные буквы (az), прописные буквы (AZ), цифры (0-9) и символы, такие как знаки препинания, а Unicode представляет буквы английского, арабского, греческого и т. д., математические символы, исторические сценарии и эмодзи широкий спектр символов, чем ASCII.
Ключевые области покрыты
1. Что такое ASCII
— определение, функциональность
2. Что такое Юникод
— определение, функциональность
3. Связь между ASCII и Unicode
— Схема ассоциации
4. Разница между ASCII и Unicode
— Сравнение основных различий
Основные условия
ASCII, Unicode, Компьютеры
Что такое ASCII
ASCII расшифровывается как Американский стандартный код для обмена информацией. Он использует цифры для представления текста. Цифры (1,2,3 и т. Д.), Буквы (a, b, c и т. Д.) И символы (!) Называются символами. Когда есть фрагмент текста, ASCII преобразует каждый символ в число. Этот набор чисел легче хранить в памяти компьютера. Проще говоря, присвоение номера символу называется кодированием.
Например, верхнему регистру «А» присваивается номер 65. Точно так же 65 относится к букве «А». Аналогично, каждый символ имеет номер в ASCII. Таблица ASCII содержит все символы с соответствующими номерами. ASCII использует 7 бит для представления символа. Таким образом, он составляет максимум 128 (2 7 ) персонажи.
Рисунок 1: Таблица ASCII
Недостатком ASCII является то, что он может представлять только 128 символов. Он не имеет представления для большинства математических и других символов.
Что такое Юникод
Юникод является альтернативой. Он поддерживается Консорциумом Юникод. Он охватывает широкий спектр персонажей.Он содержит представления для букв на таких языках, как английский, греческий, арабский и т. Д., Математические символы, эмодзи и многие другие.
Рисунок 2: Юникод
Отношения между ASCII и Unicode
Разница между ASCII и Unicode
Определение
Стенды для
ASCII расшифровывается как Американский стандартный код для обмена информацией. Unicode означает универсальный набор символов.
Вспомогательные персонажи
ASCII содержит представления для цифр, английских букв и других символов. Он поддерживает 128 символов. Юникод поддерживает широкий спектр символов. В этом основное отличие ASCII от Unicode.
Биты на символ
Кроме того, ASCII использует 7 бит для представления символа, тогда как Unicode использует 8, 16 или 32 бита, в зависимости от типа кодирования.
Требуемое пространство
Юникод требует больше места, чем ASCII.
Заключение
Unicode представляет большинство письменных языков в мире. ASCII имеет свой эквивалент в Unicode. Разница между ASCII и Unicode заключается в том, что ASCII представляет строчные буквы (az), прописные буквы (AZ), цифры (0-9) и символы, такие как знаки препинания, в то время как Unicode представляет буквы английского, арабского, греческого и т. Д. Математические символы, исторические сценарии, эмодзи, охватывающие широкий спектр символов, чем ASCII.
Ссылка:
Что такое кодирование символов в Юникоде, UTF, ASCII
Понимание кодировки символов имеет решающее значение для всех, кто печатает на компьютере, особенно на иностранных языках, используя эмодзи или любые другие специальные символы. В этой статье мы расскажем об основах кодировки символов в Юникод, о кодовых точках, кодовых единицах, а также рассмотрим искусство рисовать на ASCII.
Без письменного языка мы не смогли бы написать весь этот текст, и вы не смогли бы его прочитать. Язык – это тот инструмент, благодаря которому люди могут транслировать друг другу то, что существует в их ментальном пространстве. Без языка не было бы общения, но не было бы общения и с языком, если бы собеседник не понимал бы, что вы говорите. Это же относится и к компьютерам.
Что такое Юникод?
Юникод – это глобальный стандарт кодировки символов, который используется для привязки кода ко всем существующим письменным знакам и символам, содержащимся во всех языках, используемых для письменного общении во всем мире. Юникод является непревзойденным эталоном кодирования и стандартом для поддержки всех языков мира, за исключением ряда уникальных китайских символов. Юникод необходим всем, кто собирается использовать Java, XML, LDAP, JavaScript и другие языки программирования.
Без кодировки символов нет и Юникода. Кодировка символов – это привязка определенного числа (кода) к заданному символу. Юникод – это общепринятая во всем мире система кодировки символов. Например, английской букве «B» соответствует число 6, a=12, s=15 и т. д.
Зачем был создан Юникод?
Американский стандартный код для обмена информацией (ASCII) был первым популярным методом кодирования, но он имел ограничения по символам, используя только 128 кодовых определений. Он хорошо подходил для символов латинского алфавита, но с другими алфавитами возникали проблемы. В результате разработчики из других стран начали создавать свои методы кодирования, подходящие для их собственных языков.
Результатом стали дебри методов кодирования с весьма ограниченной связью за пределами своих изначальных регионов. Таким образом, в качестве компромисса между разработчиками всего мира появился Юникод.
Почему следует использовать Юникод?
Юникод является глобальной системой и как таковой поддерживает множество языков. Благодаря этому разные языки можно комбинировать на одном дыхании, в отличие от того, что было раньше, когда приходилось работать с одним языком за раз. Юникод используется многими гигантами компьютерной промышленности, таких как Apple, Microsoft, HP и так далее. Кроме того, это схема кодирования символов в популярных браузерах, таких как Firefox, Google Chrome и т.д.
Использование Юникода увеличивает ваши шансы быть понятым на всех известных устройствах.
Что такое «кодовые точки»?
Что такое «кодовые единицы»?
Обратите внимание, что кодовые единицы могут быть изменены на кодовые точки, а методы кодирования символов содержат кодовые единицы. Эти единицы указывают, где находится символ внутри плоскости.
Рисование при помощи символов ASCII
Если вы заявите, что рисование при помощи символов ASCII уже неактуально, то вы рискуете получить ту же реакцию, что и компания Microsoft, которая сделав подобное заявление в 1998 году, получила множество негативных комментариев, а Билла Гейтса назвали чрезмерно усердным человеком, отчаянно пытающимся навязать людям свои шрифты Microsoft.
В свое время искусство рисовать при помощи символов ASCII оказало сильное влияние на развитие алгоритмов создания современных компьютерных изображений. И в настоящее время подобный способ создания картинок все еще широко используется. Кроме того, нынешние эмодзи являются потомками старых ASCII-смайликов. В действительности на некоторых устройствах до сих пор используются старые ASCII-смайлики.
Изначально рисование при помощи символов ASCII придумывалось вовсе не для того, чтобы создать новый вид искусства. Его функция приблизительно была той же, что сегодня делают современные принтеры. Креативность привела к рождению ASCII и его влияние похоже исчезнет еще не скоро. Некоторые разработчики даже создают специальные приложения, которые трансформируют произведения современного искусства в их версии на ASCII.
Приведенное изображение создано при помощи Конвертера текста.
Что такое кодировки?
Компьютеры постоянно работают с текстами: это ленты новостных сайтов, фондовые биржи, сообщения в социальных сетях и мессенджерах, банковские приложения и многое другое. Сегодня мы не можем представить жизнь без передачи информации. Но так было не всегда. Компьютеры научились работать с текстом благодаря появлению кодировок. Кодировки прошли большой путь от таблиц символов, созданных отдельно для каждого компьютера, до единой кодировки, принятой во всём мире.
Сейчас Unicode — это основной стандарт кодирования символов, включающий в себя знаки почти всех письменных языков мира. Unicode применяется везде, где есть текст. Информация на страницах в социальных сетях, записи в базах данных, компьютерные программы и мобильные приложения — всё это работает с использованием Unicode.
В этом гайде мы рассмотрим, как появился Unicode и какие проблемы он решает. Узнаем, как хранилась и передавалась информация до введения единого стандарта кодирования символов, а также рассмотрим примеры кодировок, основанных на Unicode.
Предпосылки появления кодировок
Исторически компьютер создавался как машина для ускорения и автоматизации вычислений. Само слово computer с английского можно перевести как вычислитель, а в 20 веке в СССР, до распространения термина компьютер, использовалась аббревиатура ЭВМ — электронно вычислительная машина.
Всё, чем компьютеры оперировали — числа. Основным заказчиком и драйвером появления первых моделей были оборонные предприятия. На компьютерах проводили расчёты параметров полёта баллистических ракет, самолётов, спутников. В 1950-е годы вычислительные мощности компьютеров стали использовать для:
Компьютеры и числа
Цели, для которых разрабатывались компьютеры, привели к появлению архитектуры, предназначенной для работы с числами. Они хранятся в компьютере следующим образом:
В конце 1950-х годов происходит замена ламп накаливания на полупроводниковые элементы (транзисторы и диоды). Внедрение новой технологии позволило уменьшить размеры компьютеров, увеличить скорость работы и надёжность вычислений, а также повлияло на конечную стоимость. Если первые компьютеры были дорогостоящими штучными проектами, которые могли себе позволить только государства или крупные компании, то с применением полупроводников начали появляться серийные компьютеры, пусть даже и не персональные.
Компьютеры и символы
Постепенно компьютеры начинают применяться для решения не только вычислительных или математических задач. Возникает необходимость обработки текстовой информации, но с буквами и другими символами ситуация обстоит сложнее, чем с числами. Символы — это визуальный объект. Даже одна и та же буква «а» может быть представлена двумя различными символами «а» и «А» в зависимости от регистра.
Также число «один» можно представить в виде различных символов. Это может быть арабская цифра 1 или римская цифра I. Значение числа не меняется, но символы используются разные.
Компьютеры создавались для работы с числами, они не могут хранить символы. При вводе информации в компьютер символы преобразуются в числа и хранятся в памяти компьютера как обычные числа, а при выводе информации происходит обратное преобразование из чисел в символы.
Правила преобразования символов и чисел хранились в виде таблицы символов (англ. charset). В соответствии с такой таблицей для каждого компьютера конструировали и своё уникальное устройство ввода/вывода информации (например, клавиатура и принтер).
Распространение компьютеров
В начале 1960-х годов компьютеры были несовместимы друг с другом даже в рамках одной компании-производителя. Например, в компании IBM насчитывалось около 20 конструкторских бюро, и каждое разрабатывало свою собственную модель. Такие компьютеры не были универсальными, они создавались для решения конкретных задач. Для каждой решаемой задачи формировалась необходимая таблица символов, и проектировались устройства ввода/вывода информации.
В этот период начинают формироваться сети, соединяющие в себе несколько компьютеров. Так, в 1958 году создали систему SAGE (Semi-Automatic Ground Environment), объединившую радарные станций США и Канады в первую крупномасштабную компьютерную сеть. При этом, чтобы результаты вычислений одних компьютеров можно было использовать на других компьютерах сети, они должны были обладать одинаковыми таблицами символов.
В 1962 году компания IBM формирует два главных принципа для развития собственной линейки компьютеров:
Так в 1965 году появились компьютеры IBM System/360. Это была линейка из шести моделей, состоящих из совместимых модулей. Модели различались по производительности и стоимости, что позволило заказчикам гибко подходить к выбору компьютера. Модульность систем привела к появлению новой отрасли — производству совместимых с System/360 вычислительных модулей. У компаний не было необходимости производить компьютер целиком, они могли выходить на рынок с отдельными совместимыми модулями. Всё это привело к ещё большему распространению компьютеров.
ASCII как первый стандарт кодирования информации
Телетайп и терминал
Параллельно с этим развивались телетайпы. Телетайп — это система передачи текстовой информации на расстоянии. Два принтера и две клавиатуры (на самом деле электромеханические печатные машинки) попарно соединялись друг с другом проводами. Текст, набранный на клавиатуре у первого пользователя, печатается на принтере у второго пользователя и наоборот. Таким образом, например, была организована «горячая линия» между президентом США и руководством СССР вплоть до начала 1970-х годов.
Телетайпы также преобразуют текстовую информацию в некоторые сигналы, которые передаются по проводам. При этом не всегда используется бинарный код, например, в азбуке Морзе используются 3 символа — точка, тире и пауза. Для телетайпов необходимы таблицы символов, соответствие в которых строится между символами и сигналами в проводах. При этом для каждого телетайпа (пары, соединённых телетайпов) таблицы символов могли быть свои, исходя из задач, которые они решали. Отличаться, например, мог язык, а значит и сам набор символов, который отправлялся с помощью устройства. Для оптимизации работы телетайпа самые популярные (часто встречающиеся) символы кодировались наиболее коротким набором сигналов, а значит и в рамках одного языка, набор символов мог быть разным.
На основе телетайпов разработали терминалы доступа к компьютерам. Такой телетайп отправлял сообщения не второму пользователю, а информация вводилась на некоторый удалённый компьютер, который после обработки указанных команд, возвращал результат в виде ответного сообщения. Это нововведение позволило использовать тогда ещё очень дорогие вычислительные мощности компьютеров, не имея физического доступа к самому компьютеру. Например, компьютер мог размещаться в отдельном вычислительном центре корпорации или института, а сотрудники из других филиалов или городов получали доступ к вычислительным мощностями компьютера посредством установленных у них терминалов.
ASCII
Повсеместное распространение компьютеров и средств обмена текстовой информацией потребовало разработки единого стандарта кодирования для передачи и хранения информации. Такой стандарт разработали в США в 1963 году. Таблицу из 128 символов назвали ASCII — American standard code for information interchange (Американский стандарт кодов для обмена информацией).
Первые 32 символа в ASCII являются управляющими. Они использовались для того, чтобы, например, управлять печатающим устройством телетайпа и получать некоторые составные символы. Например:
Введение управляющих символов позволяло получать новые символы как комбинацию существующих, не вводя дополнительные таблицы символов.
Однако введение стандарта ASCII решило вопрос только в англоговорящих странах. В странах с другой письменностью, например, с кириллической в СССР, проблема оставалась.
Кодировки для других языков
В течение более чем 20 лет вопрос решали введением собственных локальных стандартов, например, в СССР на основе таблицы ASCII разработали собственные варианты кодировок КОИ 7 и КОИ 8, где 7 и 8 указывают на количество бит, необходимых для кодирования одного символа, а КОИ расшифровывается как Коды Обмена Информацией.
С дальнейшим развитием систем начали использовать восьмибитные кодировки. Это позволило использовать наборы, содержащие по 256 символов. Достаточно распространён был подход, при котором первые 128 символов брали из стандарта ASCII, а оставшиеся 128 дополнялись собственными символами. Такое решение, в частности, было использовано в кодировке KOI 8.
Однако единым стандартом указанные кодировки так и не стали. Например, в MS-DOS для русских локализаций использовалась кодировка cp866, а далее в среде MS Windows стали использоваться кодировки cp1251. Для греческого языка применялись кодировки cp851 и cp1253. В результате документы, подготовленные с использованием старой кодировки, становились нечитаемыми на новых.
Свои кодировки необходимы и для других стран с уникальным набором символов. Это приводило к путанице и сложностям в обмене информацией. Ниже приведён пример текста, который написали в кодировке KOI8-R, а читают в cp851.
Обе кодировки основаны на стандарте ASCII, поэтому знаки препинания и буквы английского алфавита в обеих кодировках выглядят одинаково. Кириллический текст при этом становится совершенно нечитаемым.
При этом компьютерная память была дорогой, а связь между компьютерами медленной. Поэтому выгоднее было использовать кодировки, в которых размер в битах каждого символа был небольшим. Таблица символов состоит из 256 символов. Это значит, что нам достаточно 8 бит для кодирования любого из них (2^8 = 256).
Переход к Unicode
Развитие интернета, увеличение количества компьютеров и удешевление памяти привели к тому, что проблемы, которые доставляла путаница в кодировках, стали перевешивать некоторую экономию памяти. Особенно ярко это проявлялось в интернете, когда текст написанный на одном компьютере должен был корректно отображаться на многих других устройствах. Это доставляло огромные проблемы как программистам, которые должны были решать какую кодировку использовать, так и конечным пользователям, которые не могли получить доступ к интересующим их текстам.
В результате в октябре 1991 года появилась первая версия одной общей таблицы символов, названной Unicode. Она включала в себя на тот момент 7161 различный символ из 24 письменностей мира.
В Unicode постепенно добавлялись новые языки и символы. Например, в версию 1.0.1 в середине 1992 года добавили более 20 000 идеограмм китайского, японского и корейского языков. В актуальной на текущий момент версии содержится уже более 143 000 символов.
Кодировки на основе Unicode
Unicode можно себе представить как огромную таблицу символов. В памяти компьютера записываются не сами символы, а номера из таблицы. Записывать их можно разными способами. Именно для этого на основе Unicode разработаны несколько кодировок, которые отличаются способом записи номера символа Unicode в виде набора байт. Они называются UTF — Unicode Transformation Format. Есть кодировки постоянной длины, например, UTF-32, в которой номер любого символа из таблицы Unicode занимает ровно 4 байта. Однако наибольшую популярность получила UTF-8 — кодировка с переменным числом байт. Она позволяет кодировать символы так, что наиболее распространённые символы занимают 1-2 байта, и только редко встречающиеся символы могут использовать по 4 байта. Например, все символы таблицы ASCII занимают ровно по одному байту, поэтому текст, написанный на английском языке с использованием кодировки UTF-8, будет занимать столько же места, как и текст, написанный с использованием таблицы символов ASCII.
На сегодняшний день Unicode является основной кодировкой, которую используют в работе все, кто связан с компьютерами и текстами. Unicode позволяет использовать сотни тысяч различных символов и отображать их одинаково на всех устройствах от мобильных телефонов до компьютеров на космических станциях.
В чем разница между ASCII и Unicode?
могу ли я знать точную разницу между Unicode и ASCII?
ASCII имеет в общей сложности 128 символов (256 в расширенном наборе).
есть ли спецификация размера для символов Unicode?
7 ответов
ASCII определяет 128 символов, которые сопоставляются с числами 0-127. Unicode определяет (меньше) 2 21 символы, которые аналогично сопоставляются с числами 0-2 21 (хотя не все номера в настоящее время назначены, а некоторые зарезервированы).
Unicode является надмножеством ASCII, и числа 0-128 имеют то же значение в ASCII, что и в Unicode. Например, число 65 означает «Латинская столица «а»».
потому что символы Юникода не обычно помещается в один 8-битный байт, существует множество способов хранения символов Юникода в байтовых последовательностях, таких как UTF-32 и UTF-8.
понимание почему ASCII и Unicode были созданы в первую очередь помогли мне понять как они на самом деле работают.
ASCII, Origins
подождите, 7 биты? Но почему не 1 байт (8 бит)?
последний бит (8-й) используется для избежания ошибок как бит четности. Это было актуально много лет назад.
большинство символов ASCII являются печатными символами алфавита, такими как abc, ABC, 123,?&!, п. Остальные символы например возврата каретки, перевода строки, tab, etc.
смотрите ниже двоичное представление нескольких символов в ASCII:
см. полную таблицу ASCII здесь.
ASCII предназначался только для английского языка.
что? Почему только английский? Так много языков!
потому что центр компьютерной индустрии был в США в это время. Как следствие, им не нужно было поддерживать акценты или другие знаки, такие как á, ü, ç, ñ, и т. д. (также известный как диакритические знаки).
ASCII Extended
некоторые умные люди начали использовать 8-й бит (бит, используемый для четности) для кодирования большего количества символов для поддержки своего языка (например, для поддержки «é», на французском языке). Просто использование одного дополнительного бита удвоило размер исходной таблицы ASCII для отображения до 256 символов (2^8 = 256 символов). И не 2^7, как раньше (128).
имя для этого » ASCII расширено до 8 бит и не 7 бит, как раньше» можно просто назвать «расширенным ASCII»или» 8-битным ASCII».
As @Tom указал в своем комментарии ниже нет такой вещи, как»расширенный ASCII» тем не менее, это простой способ обратиться к этому 8-битному трюку. Существует множество вариантов 8-битной таблицы ASCII, например ISO 8859-1, также называемый ISO Latin-1.
Unicode, The Rise
ASCII Extended решает проблема для языков, которые основаны на латинском алфавите. а как насчет других, которым нужен совершенно другой алфавит? Греческий? Русский? Китайский и тому подобное?
нам нужен совершенно новый набор символов. это рациональная основа Unicode. Unicode не содержит каждый символ из каждого языка, но он уверен, что содержит гигантское количество символов (посмотреть в этой таблице).
вы не можете сохранить текст на жесткий диск как «Unicode». Unicode-это абстрактное представление текста. Вам нужно «закодировать» это абстрактное представление. Вот где кодирование вступает в игру.
кодировки: UTF-8 vs UTF-16 vs UTF-32
ответ делает довольно хорошую работу по объяснению основ:
UTF-8 использует набор ASCII для первых 128 символов. Это удобно, потому что это означает, что текст ASCII также действителен в UTF-8.
Это очевидно для некоторых, но на всякий случай. У нас есть семь слотов, заполненных либо 0, либо 1 (Двоичный Код). Каждый может иметь две комбинации. Если у нас есть семь мест, мы 2 * 2 * 2 * 2 * 2 * 2 * 2 = 2^7 = 128 комбинаций. Подумайте об этом как о кодовом замке с семью колесами, каждое колесо имеет два номера только.
ASCII имеет 128 кодовых точек, от 0 до 127. Он может поместиться в один 8-битный байт, значения от 128 до 255, как правило, используются для других символов. С несовместимыми выборами, вызывающими страницу код катастрофы. Текст, закодированный на одной кодовой странице, не может быть правильно прочитан программой, которая предполагает или угадывает на другой кодовой странице.
Unicode пришел, чтобы решить эту катастрофу. Версия 1 начиналась с 65536 кодовых точек, обычно закодированных в 16 битах. Later extended в версии 2 до 1,1 млн. кодовых точек. Текущая версия 6.3, используя 110,187 из доступных 1,1 миллиона кодовых точек. Это больше не вписывается в 16 бит.
Кодирование в 16-битах было распространено, когда v2 появился, например, в операционных системах Microsoft и Apple. И языковые среды, такие как Java. Спецификация v2 придумала способ сопоставить эти 1,1 миллиона кодовых точек в 16 бит. Кодировка называется UTF-16, кодировка переменной длины, где одна кодовая точка может принимать 2 или 4 байта. Исходные кодовые точки v1 занимают 2 байта, добавленные-4.
другое кодирование переменной длины, которое очень распространено, используется в операционных системах *nix и инструментах UTF-8, кодовая точка может принимать от 1 до 4 байтов, исходные коды ASCII занимают 1 байт, остальные занимают больше. Единственная кодировка без переменной длины-UTF-32, занимает 4 байта для кодовой точки. Не часто используется, так как это довольно расточительно. Другие одни, как UTF-1 и UTF-7, широко игнорируемый.
проблема с кодировками UTF-16/32 заключается в том, что порядок байтов будет зависеть от конечности машины, которая создала текстовый поток. Поэтому добавьте в микс UTF-16BE, UTF-16LE, UTF-32BE и UTF-32LE.
наличие этих различных вариантов кодирования возвращает катастрофу кодовой страницы в некоторой степени, наряду с горячими дебатами среди программистов, выбор UTF является «лучшим». Их связь с операционной системой по умолчанию в значительной степени рисует линии. Один counter-measure-это определение спецификации, метка порядка байтов, специальная кодовая точка (U+FEFF, пространство нулевой ширины) в начале текстового потока, которая указывает, как кодируется остальная часть потока. Он указывает как кодировку UTF, так и endianess и нейтрален к движку рендеринга текста. К сожалению, это необязательно, и многие программисты заявляют о своем праве опустить его, поэтому несчастные случаи все еще довольно распространены.
ASCII имеет 128 позиций кода, выделенных графическим символам и управляющим символам (управляющим кодам).
Unicode имеет 1,114,112 кодовых позиций. Около 100 000 из них в настоящее время были выделены символам, и многие кодовые точки были сделаны постоянно нехарактерными (т. е. никогда не использовались для кодирования какого-либо символа), и большинство кодовых точек еще не назначены.
единственное, что ASCII и Unicode имеют в общей являются: 1) Они характер коды. 2) 128 первых кодовых позиций Юникода были определены, чтобы иметь те же значения, что и в ASCII, за исключением того, что кодовые позиции символов управления ASCII просто определены как обозначающие символы управления, с именами, соответствующими их именам ASCII, но их значения не определены в Юникоде.
Иногда, однако, Unicode характеризуется (даже в стандарте Unicode!) как «широкий ASCII». Это слоган, который в основном пытается передать идею, что Unicode предназначен для будь универсальная символьный код так же, как когда-то ASCII (хотя репертуар символов ASCII был безнадежно недостаточен для универсального использования), в отличие от использования разных кодов в разных системах и приложениях и для разных языков.
Unicode как таковой определяет только «логический размер» символов: каждый символ имеет кодовый номер в определенном диапазоне. Эти кодовые номера можно представить используя различные кодировки передачи, и внутренне, внутри память, символы Юникода обычно представлены с использованием одного или двух 16-разрядных величин на символ, в зависимости от диапазона символов, иногда с использованием одного 32-разрядного количества на символ.
java обеспечивает поддержку Unicode i.e он поддерживает все Всемирные алфавиты. Следовательно, размер char в java составляет 2 байта. И диапазон от 0 до 65535.
ASCII и Unicode-это две кодировки символов. В основном, это стандарты представления разностных символов в двоичном формате, чтобы их можно было записывать, хранить, передавать и читать на цифровых носителях. Основное различие между ними заключается в том, как они кодируют символ и количество битов, которые они используют для каждого. ASCII первоначально использовал семь битов для кодирования каждого символа. Это было позже увеличено до восьми с расширенным ASCII для решения очевидной неадекватности оригинальный. Напротив, Unicode использует переменную битовую программу кодирования, в которой можно выбрать между 32, 16 и 8-битными кодировками. Использование большего количества битов позволяет использовать больше символов за счет больших файлов, в то время как меньшее количество битов дает вам ограниченный выбор, но вы экономите много места. Использование меньшего количества бит (например, UTF-8 или ASCII), вероятно, будет лучше, если вы кодируете большой документ на английском языке.
одна из основных причин, почему Unicode была проблемой, возникла из-за многих нестандартных расширенных Программы в ASCII. Если вы не используете распространенную страницу, которая используется Microsoft и большинством других программных компаний, вы, скорее всего, столкнетесь с проблемами с вашими персонажами, появляющимися в виде ящиков. Unicode практически устраняет эту проблему, поскольку все кодовые точки символов были стандартизированы.
еще одно важное преимущество Unicode заключается в том, что на максимуме он может вместить огромное количество символов. Из-за этого Unicode в настоящее время содержит большинство письменных языков и все еще есть место и для большего. Это включает в себя типичные слева направо скрипты, такие как английский и даже справа налево скрипты, такие как арабский. Китайский, японский, и многие другие варианты также представлены в Юникоде. Таким образом, Unicode не будет заменен в ближайшее время.
для поддержания совместимости со старым ASCII, который уже широко использовался в то время, Unicode был разработан таким образом, что первые восемь битов соответствовали наиболее популярной странице ASCII. Поэтому, если вы откроете ASCII кодированный файл с Unicode, вы все равно получите правильные символы, закодированные в файле. Это облегчило принятие Юникода, поскольку уменьшило влияние принятия нового стандарта кодирования для тех, кто уже использовал ASCII.