Кракозябры

Материал из Seo Wiki - Поисковая Оптимизация и Программирование

Перейти к: навигация, поиск

Кракозя́бры (абракадабра, кракозяблы, крокозябры, крюкозябры, крюкозяблы, крякозябры, квакозябры, кракосямбы, крякозяблики, крокозяблики, зюквы, зюки, козяблики, калябушки, козюбрики, черты и резы, иногда бнопня́) — жаргонизм (не имеющий на 2009 год устоявшегося нежаргонного эквивалента), обозначающий элементы бессмысленной с точки зрения читателя последовательности символов, полученной в результате неправильного перекодирования осмысленного текста. В единственном числе — вообще любой компьютерный символ, для которого в русском языке нет подходящего звука, например, значок @.

Чаще всего кракозябры образуются на выводе программ по причине неправильно настроенной кодовой страницы, а также из-за использования несоответствующего шрифта.

Происходит от слова «крокозябра», которое, в свою очередь, является синонимом выражения «детские каракули».. По-японски явление, аналогичное крокозябрам, называется модзибакэ (яп. 文字化け), а по-китайски — луаньма (кит. 乱码 «мешанина из знаков»). Болгары называют этот эффект маймуница («обезьяница»), а сербы — ђубре («мусор»).

Название «бнопня» (или, более точно, «бНОПНЯ») напрямую происходит от явления неправильной настройки кодировок в почтовых программах. Так выглядит слово «Вопрос», если его записать в CP1251, а прочесть в KOI8-R. По слову «бНОПНЯ» опытные пользователи сразу определяли новичков, задававших вопрос по настройке кодировки.

Содержание

История

В 1980-е и 1990-е пользователи компьютеров и с 1990 г. — пользователи русскоязычной части интернета вынуждены были мириться с существованием нескольких конкурирующих кодировок кириллицы: основная, ГОСТ, альтернативная — DOS 866 (Unix KOI8-R, Windows CP-1251, ISO 8859-5), MacCyrillic. В результате неправильной конфигурации серверов и недостаточной совместимости тексты очень часто было совершенно невозможно прочесть. Получая сообщения по электронной почте или зайдя на веб-сайт, неопытные пользователи могли наткнуться на странные необычные символы вместо букв кириллицы.

Несмотря на всё более широкое распространение Юникода, феномен крокозябр иногда встречается и сегодня. Есть возможность получить неадекватные символы при использовании неправильных шрифтов при печати на принтере или фотонаборном автомате, неверно настроенной локали программы (когда вместо кодовой страницы CP1251 используется CP1252).

Примеры

Исходная кодировкаВоспринято какРезультат
Правильный текст:
(при воспроизведении применяется та же кодировка, что и при создании текста)
Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства.
Windows-1251 Windows-1252
или ISO 8859-1[1]
Øèðîêàÿ ýëåêòðèôèêàöèÿ þæíûõ ãóáåðíèé äàñò ìîùíûé òîë÷îê ïîäú¸ìó ñåëüñêîãî õîçÿéñòâà.
KOI8-R ьХПНЙЮЪ ЩКЕЙРПХТХЙЮЖХЪ ЧФМШУ ЦСАЕПМХИ ДЮЯР ЛНЫМШИ РНКВНЙ ОНДЗ╦ЛС ЯЕКЭЯЙНЦН УНГЪИЯРБЮ.
ISO 8859-5 иш№юърџ §ыхъђ№шєшърішџ ўцэћѕ уѓсх№эшщ фрёђ ьюљэћщ ђюыїюъ яюфњИьѓ ёхыќёъюую ѕючџщёђтр.
CP 866 ╪шЁюър ¤ыхъЄЁшЇшърЎш ■цэ√ї уєсхЁэшщ фрёЄ ью∙э√щ Єюыўюъ яюф·╕ьє ёхы№ёъюую їюч щёЄтр.
KOI8-R Windows-1252
или ISO 8859-1[1]
ûÉÒÏËÁÑ ÜÌÅËÔÒÉÆÉËÁÃÉÑ ÀÖÎÙÈ ÇÕÂÅÒÎÉÊ ÄÁÓÔ ÍÏÝÎÙÊ ÔÏÌÞÏË ÐÏÄߣÍÕ ÓÅÌØÓËÏÇÏ ÈÏÚÑÊÓÔ×Á.
Windows-1251 ыЙТПЛБС ЬМЕЛФТЙЖЙЛБГЙС АЦОЩИ ЗХВЕТОЙК ДБУФ НПЭОЩК ФПМЮПЛ РПДЯЈНХ УЕМШУЛПЗП ИПЪСКУФЧБ.
ISO 8859-5 ћЩвЯЫСб мЬХЫдвЩЦЩЫСУЩб РжЮйШ ЧеТХвЮЩЪ ФСгд ЭЯнЮйЪ дЯЬоЯЫ аЯФпЃЭе гХЬигЫЯЧЯ ШЯкбЪгдзС.
CP 866 √╔╥╧╦┴╤ ▄╠┼╦╘╥╔╞╔╦┴├╔╤ └╓╬┘╚ ╟╒┬┼╥╬╔╩ ─┴╙╘ ═╧▌╬┘╩ ╘╧╠▐╧╦ ╨╧─▀г═╒ ╙┼╠╪╙╦╧╟╧ ╚╧┌╤╩╙╘╫┴.
7 бит {IROKAQ \LEKTRIFIKACIQ @VNYH GUBERNIJ DAST MO]NYJ TOL^OK POD_#MU SELXSKOGO HOZQJSTWA.
ISO 8859-5 Windows-1252
или ISO 8859-1[1]
ÈØàÞÚÐï íÛÕÚâàØäØÚÐæØï îÖÝëå ÓãÑÕàÝØÙ ÔÐáâ ÜÞéÝëÙ âÞÛçÞÚ ßÞÔêñÜã áÕÛìáÚÞÓÞ åÞ×ïÙáâÒÐ.
Windows-1251 ИШаЮЪРп нЫХЪваШдШЪРжШп оЦЭле УгСХаЭШЩ ФРбв ЬЮйЭлЩ вЮЫзЮЪ ЯЮФксЬг бХЫмбЪЮУЮ еЮЧпЩбвТР.
KOI8-R хьЮчзпО МшузБЮьДьзпФьО НжщКЕ сЦяуЮщьы тпАБ эчИщКы БчшГчз ъчтЙЯэЦ АушЛАзчсч ЕчвОыАБрп.
CP 866 ╚╪р▐┌╨я э█╒┌тр╪ф╪┌╨ц╪я ю╓▌ых ╙у╤╒р▌╪┘ ╘╨ст ▄▐щ▌ы┘ т▐█ч▐┌ ▀▐╘ъё▄у с╒█ьс┌▐╙▐ х▐╫я┘ст╥╨.
CP 866 Windows-1252[1] ˜¨à®ª ï í«¥ªâà¨ä¨ª æ¨ï ëå £ã¡¥à­¨© ¤ áâ ¬®é­ë© ⮫箪 ¯®¤êñ¬ã ᥫì᪮£® 宧ï©á⢠.
Windows-1251 �Ёа®Є п н«ҐЄваЁдЁЄ жЁп о¦­ле ЈгЎҐа­Ё© ¤ бв ¬®й­л© в®«з®Є Ї®¤кс¬г ᥫмбЄ®Ј® 宧п©бвў .
KOI8-R ≤╗Ю╝╙═О М╚╔╙БЮ╗Д╗╙═Ф╗О Н╕╜КЕ ёЦ║╔Ю╜╗╘ ╓═АБ ╛╝И╜К╘ Б╝╚Г╝╙ ╞╝╓ЙЯ╛Ц А╔╚ЛА╙╝ё╝ Е╝╖О╘АБ╒═.
ISO 8859-5 �ЈрЎЊ я эЋЅЊтрЈфЈЊ цЈя юІ­ых ЃуЁЅр­ЈЉ Є ст ЌЎщ­ыЉ тЎЋчЎЊ ЏЎЄъёЌу сЅЋьсЊЎЃЎ хЎЇяЉстЂ .
UTF-8[2] Windows-1252[1] Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства.
Windows-1251 Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства.
KOI8-R п╗п╦я─п╬п╨п╟я▐ я█п╩п╣п╨я┌я─п╦я└п╦п╨п╟я├п╦я▐ я▌п╤п╫я▀я┘ пЁя┐п╠п╣я─п╫п╦п╧ п╢п╟я│я┌ п╪п╬я┴п╫я▀п╧ я┌п╬п╩я┤п╬п╨ п©п╬п╢я┼я▒п╪я┐ я│п╣п╩я▄я│п╨п╬пЁп╬ я┘п╬п╥я▐п╧я│я┌п╡п╟.
ISO 8859-5 аЈаИб�аОаКаАб� б�аЛаЕаКб�б�аИб�аИаКаАб�аИб� б�аЖаНб�б� аГб�аБаЕб�аНаИаЙ аДаАб�б� аМаОб�аНб�аЙ б�аОаЛб�аОаК аПаОаДб�б�аМб� б�аЕаЛб�б�аКаОаГаО б�аОаЗб�аЙб�б�аВаА.
CP 866 ╨и╨╕╤А╨╛╨║╨░╤П ╤Н╨╗╨╡╨║╤В╤А╨╕╤Д╨╕╨║╨░╤Ж╨╕╤П ╤О╨╢╨╜╤Л╤Е ╨│╤Г╨▒╨╡╤А╨╜╨╕╨╣ ╨┤╨░╤Б╤В ╨╝╨╛╤Й╨╜╤Л╨╣ ╤В╨╛╨╗╤З╨╛╨║ ╨┐╨╛╨┤╤К╤С╨╝╤Г ╤Б╨╡╨╗╤М╤Б╨║╨╛╨│╨╛ ╤Е╨╛╨╖╤П╨╣╤Б╤В╨▓╨░.

Примечания

  1. 1,0 1,1 1,2 1,3 1,4 Кодовая таблица ISO 8859-1 отличается лишь отсутствием ряда изображённых символов. В системе Microsoft Windows вместо кодовой страницы ISO 8859-1 применяется её расширение Windows-1252.
  2. Варианты дешифровки по UTF-8 не приводятся, так как бо́льшая часть русского текста, записанного в 8-битной кодовой странице, будет сочтена ошибочной (не имеющей представления).

Перекодировка

Для восстановления текста (вообще для перекодировки) можно использовать утилиту iconv, например:

$ iconv -f cp1251 -t cp1252 source.txt > target.txt

Если при открытии текстовых файлов вы получаете кракозябру, попробуйте открыть его с помощью любого браузера, в котором доступно ручное указание кодировки (обычно: Вид — кодировка — … в верхнем меню, либо в контекстном меню). Если после этого получается текст из одной строки без деления на абзацы, можно в контекстном меню выбрать Исходный текст (View Source), в начале страницы прописать <PRE> и сохранить.

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

Другие искажения, связанные с перекодировкой

Нередко бывает, что перекодировка осуществляется в правильном направлении, но сам перекодировщик работает не совсем корректно. Например, из-за лени программистов многие перекодировщики преобразуют только базовые русские буквы, а все остальные символы оставляют на месте. В итоге при перекодировке KOI8-R → Windows-1251 буква ё превращается в Ј (сербская буква), значок градуса (°) превращается в њ и т. д. (такие тексты в изобилии встречаются в Интернете, достаточно поискать слова «всЈ» или «њС»).

Другой вариант искажений связан с тем, что в целевой кодировке могут отсутствовать символы, имеющиеся в исходной кодировке. В этом случае отсутствующие символы могут просто выбрасываться, заменяться на символ-заменитель (часто знак вопроса — ?, иногда �) или же заменяться на похожие символы из ASCII (например, знак минуса (U+2212, −) может заменяться на простой дефис (U+002D, -), буква š может заменяться на s и т. д. В случае простого текста такие потери информации неизбежны, однако, если преобразованию подвергается файл HTML или XML, то корректным преобразованием будет замена отсутствующих в целевой кодировке символов на коды с амперсэндом: например, знак минуса должен заменяться на &minus; или &#8722; буква š должна заменяться на &scaron; или &#353; и т. д.

Ссылки

Кодировки символов
Основы → алфавиттекстфайлданные ) • набор символовконверсия
Исторические кодировки → Докомп.: семафорная (Макарова)МорзеБодоМТК-2 Комп.: 6 битУППRADIX-50EBCDICДКОИ-8 ) • КОИ-7ISO 646
совре-
менное
8-битное
представ-
ление
символы ASCIIуправляющиепечатные ) не-ASCIIпсевдографика )
8бит. код.стр. Разные →   Кириллица: КОИ-8ГОСТ 19768-87MacCyrillic
ISO 8859 → 1(лат.) 2 3 4 5(кир.) 6 7 8 9 10 11 12 13 14 15(€) 16
Windows → 1250 1251(кир.) 1252 1253 1254 1255 1256 1257 1258WGL4
IBM&DOS → 437850852855866 «альт.»МИК )
Много-
байтные
Традиционные → DBCSGB2312 ) • HTML
Unicode → UTF-16UTF-8список символовкириллица )
Связанные
темы →
интерфейс пользователяраскладки клавиатурлокальперевод строкишрифткрокозябрытранслитнестандартные шрифтытекст как изображение Утилиты: iconvrecode
ar:موجيباكي

de:Zeichensalat el:Mojibake en:Mojibake eo:Moĝibako es:Mojibake fr:Mojibake gl:Mojibake it:Mojibake ja:文字化け ksh:Bochstabesallaat pt:Mojibake simple:Mojibake sv:Mojibake ur:عجیب محارف zh:亂碼

Личные инструменты

Served in 0.209 secs.