В дополнение к всему уже сказанному об Unicode нужно отметить ещё некоторые обстоятельства. Для того, чтобы сделать её хотя бы частично совместимой с ранее существовавшим ПО (а возможно, и чтобы не тратить денег на серьёзную переделку своего ПО, находящегося в стадии разработки), членами консорциума были разработаны различные методы представления (номеров) символов таблицы Unicode: UTF-8, UTF16, UTF16LE и UTF16BE. Отсюда возникает необходимость в реализации в ПО поддержки каждого из них, что определённо порождает новый виток путаницы. С этим обстоятельством связано, вероятно, большинство проблем, существующих в конкретных реализациях поддержки работы с системой кодирования Unicode в различном ПО.
Отметим, что консорциум Unicode держит «про запас» методы UTF32, UTF32LE, UTF32BE, в которых для кодирования (номера) каждого символа предусматривается использование уже 32-битных последовательностей (что, однако, «автоматически» не означает, что таблица символов будет расширена до 4,3 миллиардов позиций). Однако их применение чрезвычайно расточительно с точки зрения расходования системных ресурсов, и представители Unicode прямо указывают, что в ближайшее время промышленность (читай – корпорации-члены Unicode) не планирует переходить на применение этих методов.
У системы Unicode есть и другие нерешённые проблемы, наличие которых для международного стандарта просто неприлично, но мы не будем на них останавливаться отдельно. Интересующиеся могут ознакомиться с этой информацией на web-сайте проекта TRON[9].
***Зададимся теперь вопросом: почему же всё-таки не возник единый международный стандарт, в таблице символов которого были бы последовательно занесены символы всех существующих естественных языков[10], притом одинаково удобный для применения во всех странах мира? Почему, напротив, в качестве международных принимались и принимаются заведомо несовершенные стандарты, часто недоработанные, и появилось большое количество несовместимых таблиц символов? Попробуем оценить основные причины.
1. корпорациям-производителям ПО, очевидно, весьма выгодно продавать разные «национальные» версии операционных систем, офисных пакетов и т.д. за отдельные деньги. Так, Microsoft продавала «американскую», «панъевропейскую», «восточно-азиатскую», « ближневосточную» и «тайскую» версии Windows 95, а IBM – стандартную, «арабскую», «израильскую», «японскую», «корейскую», «китайскую» и «тайваньскую» версии PC DOS. Отсюда возникновение несовместимых таблиц символов, содержащих 256 позиций каждая.
Кроме того, как уже говорилось, это, очевидно, позволило корпорациям в дальнейшем нажиться на продажах ПО, соответствующего стандарту Unicode – кому оно было бы нужно, не существуй «проблема кодировок»?! – а также на продаже самогО текста этого стандарта.
2. поскольку «проблема кодировок» теперь не касается английского языка, у ANSI и правительства США не было повода вмешиваться в её решение, как это было в 1963-м.
Более того, «проблема кодировок», не касающаяся английского языка, стратегически выгодна для США. Она обеспечивает лидерство США и его крупнейшего англоязычного партнёра по НАТО – Великобритании (и Австралии) – в сфере ИТ, и отставание других стран, так как «проблема кодировок» препятствует информационному обмену между людьми, работающими с данными не на английском языке.
Особенно это заметно на примере важнейшей сферы ИТ, относящейся к сети Internet:
– использование для представления различных символов различных языков одних и тех же двоичных последовательностей (при этом «угадать», которую из таблиц символов нужно использовать, ПО без дополнительных данных не может) делает их употребление в именах файлов[11] и Internet-ресурсов если не невозможным, то, как минимум, нефункциональным и потому нежелательным. Символам английского языка, напротив, всегда «горит зелёный свет»;
– существование «проблемы кодировок» препятствует навигации по не англоязычным текстовым материалам в сети Internet, так как оно значительно увеличивает требования к вычислительным мощностям и программному обеспечению компьютерных систем, на базе которых строятся поисковые серверы Internet. Кроме того, заметим, что на важнейшей – начальной – стадии развития Internet, когда на серверы выкладывались данные, ни клиентского, ни серверного ПО, которое позволяло бы удовлетворительным образом решить «проблему кодировок», практически не было. Тем, кто не согласен, предлагаю вспомнить, сколько таблиц символов и с каким качеством «понимали» ранние версии, ну, хотя бы www-броузеров Netscape Navigator и Internet Explorer… Поэтому можно с полной ответственностью заявить, что это воспрепятствовало равноправному участию всех стран в построении международного информационного пространства. «Проблема кодировок» не дала шансов вырваться в этой важнейшей области ИТ в лидеры ни одной из не англоязычных стран, так как не позволила своевременно разместить в сети Internet их национальное культурное достояние и обеспечить его общедоступность;