Поиск с GOOGLE
Проблема кодировок | Проблема кодировок |
|
|
| Написал В.С. Гусев | |||||||||||||
| Воскресенье, 03 Сентября 2006 | |||||||||||||
|
Первые ЭВМ предназначались для выполнения математических расчетов, проблема представления текстов им была незнакома. Возникла она только в 60-е годы, когда компьютеры начали учиться работать с текстами. Современные компьютеры хранят информацию в виде байтов, каждый из которых может принимать значение от 0 до 255. Буквы и другие символы также запоминаются в виде чисел — для этого каждому из символов присваивается какое-то числовое значение. Таблица, ставящая в соответствие символам кодирующие их байты, называется таблица кодировки символов. В 60-е годы каждый производитель компьютеров разрабатывал свою таблицу кодировки; такая таблица содержала английский алфавит (точнее, символы латиницы) и арабские цифры. Первый стандарт на таблицы кодировки символов предложил национальный орган стандартизации США — ASA, который впоследствии был переименован в ANSI. Этой организацией в 1968 году был принят первый стандарт ASCII (American Standard Code for Information Interchange — Американский стандартный код обмена информацией). В соответствии с ним для кодирования использовалось не 8 (что соответствует байту), а только 7 бит, поэтому таблица содержала лишь 128 буквенно-цифровых и специальных символов. Буквы были только латинскими, о кодировании языков, использующих другие алфавиты, американцы, со свойственной им непосредственностью, не подумали. Первая кодировочная таблица, разработанная в СССР, также была семибитовой и содержала только символы кириллицы (ГОСТ-13052). Расширенный, уже восьмибитовый, стандарт ASCII содержал 256 символов. Принятая в СССР кодировка, получившая название KOI7 (ГОСТ 19768-74), включала как символы кириллицы, так и латиницы, но только заглавные буквы. И лишь принятая позже таблица кодировки KOI8 стала восьмибитовой и содержала уже полный набор символов латинского и русского алфавитов. Сейчас все кодировочные таблицы национальных символов имеют сходную структуру. Они восьмибитовые; "младшая" половина (десятичные коды с 0 до 127) совпадает со стандартом ASCII, а старшая регламентирует кодировку национальных символов. Благодаря этому цифры, знаки препинания и символы латиницы корректно обрабатываются на любом компьютере. Но этого, к сожалению, нельзя сказать о символах кириллицы. В разных операционных системах использовались разные таблицы, из-за чего текст, набранный в MS DOS (была когда-то такая операционная система), не читается в Windows и наоборот. В табл. 1 приведены названия операционных систем и типы используемых ими кодировочных таблиц. Таблица 1. Наборы символов, используемые в разных OS Операционная система Кодировочная таблица MS Windows 95—ХР Windows-1251 Sun Solaris, Linux, FreeBSD и другие клоны UNIX КОI8, ISO-8859-5 DOS, IBM OS/2 DOS CP866 MacOS Macintosh 10007 По мере роста Internet разнообразие кодировок стало серьезным препятствием (эта проблема касается не только славянских языков; есть ведь еще и арабская вязь, и иероглифы восточных народов). Поэтому в 1991 году была принята первая версия стандарта Unicode, или ISO/IEC 10646. Он стал результатом сотрудничества Международной организации по стандартизации (ISO) и ведущих производителей компьютеров и программного обеспечения. В этом стандарте используется 16 бит, что позволяет закодировать до 65 536 символов. Но он несовместим с большинством Internet-протоколов. Это вызвано тем, что часть битов двухбайтового пространства в протоколах Internet используется в качестве служебных, что не совпадает с их назначением в Unicode. Для совместимости с Internet-протоколами были разработаны специальные форматы преобразования Unicode (Unicode Transformation Format — UTF); самым распространенным из них стал формат UTF-8. Этот формат регламентирует правила преобразования кода символа Unicode в набор байтов (числом от 1 до 3), которые можно передавать с помощью протоколов Internet. Именно из-за некорректного преобразования в формат UTF-8 и обратно иногда в сообщениях электронной почты встречаются одни лишь вопросительные знаки. Существует еще формат UTF-16, позволяющий кодировать символы "мертвых" языков, не попавших в первоначальную таблицу кодировки. Однако для "живых" языков эти форматы используют одни и те же коды. Понятно, что поисковая машина должна уметь распознавать кодировку, используемую на сайте, который она индексирует, и тем более кодировку запроса, сделанного пользователем. Далеко не все зарубежные поисковые системы умеют это делать, так что с ними лучше общаться на английском языке. Русскоязычные поисковики, напротив, хорошо справляются с этой задачей. Однако, открыв найденную поисковиком страницу, вы можете обнаружить на ней хоть и не состоящий из одних вопросительных знаков, но все же "нечитабельный" текст. Чтобы преобразовать его, нужно в меню Вид программы Internet Explorer выбрать пункт Кодировка, а затем щелкнуть на названии альтернативной кодировки в контекстном меню. Если по умолчанию использовалась кодировка, названная в меню Кириллица (Windows) (на самом деле— Windows-1251), то нужно выбрать кодировку Кириллица (KOI8-R), и наоборот. На подавляющем большинстве сайтов используется одна из названных кодировок (на украиноязычных может быть еще кодировка K0I8-U). Если текст все равно не читается, следует перевести указатель мыши на пункт меню Дополнительно и проверить варианты с кириллицей DOS и ISO. В особо "тяжелых" случаях, когда кажется, что именно на данном сайте находится самая нужная вам информация, а страница не читается, можно прибегнуть к услугам программы-перекодировщика. Среди бесплатных программ такого рода отметим TCode (_http://alexboiko.narod.ru/index_r.html).
Пожалуйста, при использовании статьи ставьте ссылку на сайт источник: http://www.infpartner.com |
|||||||||||||
| Рынок FOREX |
| Как заработать на падении акций? Шо... |
| Как увеличить релевантность объявле... |
| Как увеличить релевантность объявле... |
| Кризис - это надолго |
| Кризис - это надолго |