Здравствуйте! Этот рассказ был моим представлением на День национальной истории, и из-за этого формат этого рассказа может быть немного странным (как будто я часто поднимаю «барьеры», это была тема). Говоря о технических аспектах, я стараюсь сделать их простыми, чтобы средний человек (например, судьи) мог их понять. С учетом сказанного, здесь много полезной информации, и я надеюсь, вам она понравится!

Представьте на мгновение, что вам нужно поговорить с кем-то на расстоянии 200 футов. Проблема в том, что вам нужно общаться только с фонариком. Как ты это делаешь? Если вы знаете азбуку Морзе, вы можете использовать это, или вы как-то заранее отправили инструкции и объяснили, что означает каждая вспышка фонарика. В любом случае вы используете кодировку символов. Кодировки символов используются не только в фонариках, но и в качестве основы для отображения информации компьютерами. Вместо фонарей у компьютеров есть всплески электрической энергии, которые компьютеры преобразуют в буквы, числа и смайлики. Однако не всегда все так просто, что и составляет основу данной статьи.

Коммуникация была проблемой на протяжении всей истории человечества. Разные языки приводят к путанице и служат препятствием для сотрудничества. Кодировки символов невероятно необходимы людям для общения с помощью электрических форм связи, которые сегодня могут занимать больше времени по сравнению с устной речью. Мы считаем само собой разумеющимся спор между кодировками символов, который произошел прямо у нас под носом. Если бы мы все использовали разные формы кодирования, хорошо написанный абзац для одного человека мог быть j̸̜̐a̴̖̒͠r̸̹͇͊b̴̰̱͂ḷ̶̌̊é̸͙͑d̴̗͌ ̷͕̓͌m̶̠̓e̸̤͚̎s̴̨̺̆s̴͉̱͗ для следующего. ASCII (ask-ee) был ключом к началу этой войны кодирования символов, в которой победил Unicode, стандарт, доступный для всех языков, используемых и неиспользуемых.

Лучше всего начать с самого начала. До компьютеров существовал одиночный провод, протянувшийся на большое расстояние. Этот провод будет посылать электричество и запускать электромагнит, создавая звук постукивания. Телеграф, изобретенный Самуэлем Ф. Морс не был компьютером. Тем не менее, «Подобно двоичной системе, используемой в современных компьютерах, она [азбука Морзе] основана на комбинациях двух возможных значений - в случае кода Морзе - точки или тире» (Searle, Brief).

Азбука Морзе была бы очень успешной и хорошо известна даже сегодня. Этот код не работал бы с телепринтером, электрическим принтером, изобретенным Жаном-Морисом-Эмилем Бодо в 1874 году. Итак, Бодо создал «5-битный код Бодо, который также был первым в мире двоичным символьным кодом для обработки текстовых данных». Код Бодо использовался на многих компьютерах до ASCII, но не на всех.

Эти кодировки поддерживали английский и незначительно поддерживали некоторые другие западноевропейские языки, но несколько других. Например, невозможно было отправить сообщение на японском языке.

Код Морзе и Код Бодо были частью коммуникационной революции, сейчас мы живем в технологической революции, в компьютерную эру. Поскольку компьютеры обменивались данными на больших расстояниях, в основном для военных, но также и для коммерческого использования, возникла необходимость в новых кодовых системах. FIELDATA была изобретена для военных. Эта новая кодировка была «разработана армией Соединенных Штатов для использования в вооруженных силах» (Маккензи). Он состоял из основных символов в своем возможном наборе 128, однако при кодировании многие пробелы оставались неопределенными, поэтому их можно было использовать позже для «более сложных видов функций и необходимых для взаимосвязи и управления передачей данных». Кодирование было успешным, и до создания ASCII FIELDATA «стала военным стандартом США в 1960 году». В то же время IBM создавала компьютер под названием «Project Stretch». Этот компьютер будет одним из первых компьютеров с 8-битной архитектурой. Это означало, что Project Stretch был способен кодировать символы максимум до 256 символов по сравнению с 64 символами, которые были на других компьютерах. В конце концов, IBM решила выбрать «набор из 120 символов, который, помимо его размера (большинство компьютерных наборов символов того времени составляло 48 символов)», включал в себя другие символы по сравнению с другими кодировками. Это включало дополнительные математические символы для языков программирования, прописные и строчные буквы, символы и знаки препинания. По мере того, как компьютеры становились все более и более совместимыми с 8-битной архитектурой, этот стиль кодирования символов становился все более и более распространенным.

Несколько лет спустя мы вступаем в эпоху, когда потребители получили доступ к этим удивительным новым компьютерам. В то время как средний потребитель был удовлетворен схемой кодирования компьютера по умолчанию, компании знали, что так и не останется. Эта проблема кодирования «становилась все более очевидной по мере того, как такие компании, как IBM, начали создавать сетевые компьютеры» (Аволькофф). Файлы, отправленные на один компьютер, не могли быть прочитаны на другом просто потому, что получатель не имел кодировки этого файла. Чтобы решить эту проблему, «в мае 1961 года инженер IBM Боб Бемер отправил в Американский национальный институт стандартов (ANSI) предложение разработать единый код для компьютерной связи». ANSI создал комитет X3.4, в который вошли большинство нынешних производителей компьютеров в стране. Когда пыль улеглась, все, что осталось, - это ASCII, 7-битная кодировка, которую можно было использовать на всех компьютерах. Это кодирование было настолько успешным, что «в 1968 году президент Линдон Б. Джонсон подписал меморандум о принятии ASCII в качестве стандартного языка общения для федеральных компьютеров». Президент Линдон рассматривал этот новый стандарт как «важный шаг к минимизации дорогостоящей несовместимости между» их «огромными федеральными компьютерными и телекоммуникационными системами данных» (США). Став федеральным стандартом, эта кодировка становится хорошо известна программистам в Соединенных Штатах Америки. Такие стандарты, как электронная почта и HTTP (веб-сайты), будут совместимы с ASCII и остаются такими по сей день. Однако ASCII не был лишен недостатков, и он показал себя. По умолчанию ASCII не поддерживает диакритические знаки и специальные символы в языках Западной Европы. Не говоря уже о том, что стандарт, оказавший огромное влияние на Интернет, не поддерживал нелатинские языки. Чтобы решить проблему западноевропейского языка, Latin-1 была создана ISO (Международная организация по стандартизации). Акценты, специальные символы и многое другое были включены в этот стандарт, который использовал тот факт, что ASCII был 7-битным, а не 8-битным. Используя другой бит, Latin-1 увеличил количество символов, которые он может поддерживать, на 128. Однако этот стандарт никоим образом не считался идеальным: «Три французских символа не являются его частью» в первоначальном проекте, «œ, Œ и Ÿ ”(Андре)! Языки, которые не были западноевропейскими в ту эпоху, просто исключались, создавая коммуникационный барьер между компьютерами.

Легко предположить, что теперь, когда у нас есть стандарт, все счастливы. Однако это не так, и многие люди считали достижение Unicode невозможным. Чтобы понять Объединение Хань, представьте, что вы «внезапно ограничиваетесь алфавитом, в котором отсутствуют пять или шесть букв, потому что они могут считаться« похожими »(например,« M »и« N »звучат и выглядят очень похожими друг на друга. прочее) и слишком «сложный» («Q» и «X» - почему, они не более чем причудливые «C» и «Z») »(Goundry). Проблема по-прежнему довольно серьезна, и нередко бывает, что вы не умеете писать по буквам японские имена (представьте, что вам нужно написать «Кэти», в то время как ваше имя на самом деле «Кэти»). Хотя кодирование вызывало недовольство, многие компании приняли его. Наличие нескольких кодировок раньше означало, что «передача текста с одной машины на другую часто вызывает некоторую потерю информации» (IBM). Unicode не только решил проблему передачи информации между машинами, но и был прост в использовании благодаря «совместимости с ASCII и ISO-8859–1 [Latin-1], наиболее широко используемыми наборами символов». Эти преимущества окажутся невероятно полезными для использования в Интернете. Если протокол несовместим с ASCII, программистам пришлось бы просматривать каждый файл и изменять его кодировку. Вместо этого программисты просто сказали компьютеру использовать Unicode, и все заработало как обычно. Согласно недавнему опросу Google, «доля рынка Unicode с 2006 года увеличилась на 800 процентов» (Дэвис). Таким образом, чтобы представить это в перспективе, был сделан вывод, что «почти 80 процентов веб-документов имеют Unicode (UTF-8)».

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

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

Библиография плохо отформатирована из-за ограничений форматирования Medium.

Авольков. «ASCII». ASCII - Engineering and Technology History Wiki, 25 января 2019 г., «https://ethw.org/ASCII.»

Дэвис, Марк. Unicode более 60 процентов Интернета. Официальный блог Google, Google, 3 февраля 2012 г., https://googleblog.blogspot.com/2012/02/unicode-over-60-percent-of-web.html.

Элиас, Александр. Кодировки японского языка. Кодировки японского языка, Sci.lang.japan, https://www.sljfaq.org/afaq/encodings.html#encodings-Goal-of-this-document.

IBM. Как Unicode соотносится с более ранними стандартами, такими как ASCII и EBCDIC. Как Unicode соотносится с предыдущими стандартами, такими как ASCII и EBCDIC, апрель 2016 г., https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_73/nls/rbagsunicodeandprior.htm.

Джон, Николас А. Создание многоязычного Интернета: Юникод, иврит и глобализация. Журнал компьютерных коммуникаций, вып. 18, нет. 3, апрель 2013 г., стр. 321–338. EBSCOhost, DOI: 10.1111 / jcc4.12015.

Сирл, Стивен Дж. «Возвращение к Unicode». Возвращение к Unicode, TRON Web, «http://tronweb.super-nova.co.jp/unicoderevisited.html.»

США, Администрация. Меморандум об утверждении принятия федеральным правительством стандартного кодекса обмена информацией Меморандум для глав департаментов и агентств, Линдон Б. Джонсон, 11 марта 1968 г., https://www.presidency.ucsb.edu/ узел / 237376 .

Андре, Жак. ISO-LATIN-1, NORME DE CODAGE DES CARACTÈRES EUROPÉENS? TROIS CARACTÈRES FRANÇAIS EN SONT ОТСУТСТВУЕТ! ISO-LATIN-1, NORME DE CODAGE DES CARACTÈRES EUROPÉENS? TROIS CARACTÈRES FRANÇAIS EN SONT ABSENTS!, Cahiers GUTenberg, 1996, http://cahiers.gutenberg.eu.org/cg-bin/article/CG_1996___25_65_0.pdf.

Брюханов, Мартин. Спектроскопический обзор RTTY (Бодо). BruXy: Radio Teletype Communication, Брюси, 10 октября 2005 г., http://bruxy.regnet.cz/web/hamradio/EN/radio-teletype-communication/.

Гундри, Норман. Лингвистические, политические и технические ограничения. Почему Unicode не работает в Интернете, Hastings Research Inc, 1 июня 2001 г., http://www.hastingsresearch.com/net/04-unicode-limitations.shtml.

Крикке, Ян. Самая популярная операционная система в мире. LinuxInsider.com, LinuxInsider, 15 октября 2003 г., https://www.linuxinsider.com/story/31855.html.

Маккензи, Чарльз Э. Наборы кодированных символов, история и развитие. Аддисон-Уэсли, 1980.

Сирл, Стивен Дж. «Краткая история кодов символов». Краткая история кодов символов в Северной Америке, Европе и Восточной Азии, TRON Web, 6 августа 2004 г., «http://tronweb.super-nova.co.jp/characcodehist.html.»

Топпинг, Сюзанна. Тайная жизнь Юникода. Microsoft Word - Тайная жизнь Unicode.docx, IBM's DeveloperWorks, 1 мая 2001 г., http://www.btetrud.com/Lima/The%20Secret%20Life%20of%20Unicode.pdf.

Зентграф, Дэвид К. Что абсолютно необходимо знать каждому программисту о кодировках и наборах символов для работы с текстом. Что абсолютно необходимо знать каждому программисту о кодировках и наборах символов для работы с текстом, 27 апреля 2015 г., http://kunststube.net/encoding/.

Хаос в кодировках персонажей