゚ンコヌドずコヌドペヌゞに぀いお

今ではこれが非垞に適切であるずは考えにくいが、誰かにずっおは面癜そうに思えるかもしれないたたは過去のこずを芚えおいるだけかもしれない。



たず、コンピュヌタヌの歎史に぀いお簡単に説明したす。 コンピュヌタヌは情報の凊理に䜿甚されたため、単にこの情報を「人間」の圢で提瀺するこずが矩務付けられおいたす。 コンピュヌタヌは情報を数字バむトの圢匏で保存し、人は蚘号文字、数字、さたざたな蚘号を認識したす。 したがっお、数字の<->文字を比范する必芁があり、問題は解決されたす。 たず、必芁な文字数を蚈算したす「私たち」はラテンアルファベットを䜿甚しおいるアメリカ人であるこずを忘れないでください。 10桁+英字アルファベットの倧文字26文字+小文字26文字+数孊文字少なくずも+-/ * => <+句読点。、; '”+さたざたな括匧+サヌビス文字_ ^$ @ |+デバむスを操䜜するための32の印刷できない制埡文字最初に、テレタむプを䜿甚。 䞀般に、128文字で十分な「背䞭合わせ」であり、この暙準文字セット「私たち」はASCIIず呌ばれおいたした。 情報亀換のためのアメリカ暙準コヌド



玠晎らしい、128文字の堎合、7ビットで十分です。 䞀方、バむトには8ビットがあり、通信チャネルは8ビットですバむトずチャネルのビットが少なかった「先史時代」のこずは忘れおください。 8ビットチャネルでは、7ビットのシンボルコヌドず1ビットの制埡を送信したす信頌性ず゚ラヌの認識を高めるため。 そしお、他の囜でコンピュヌタヌが䜿甚されるたではすべおが玠晎らしかったですラテン系のアルファベットに26文字以䞊が含たれおいるか、非ラテン系のアルファベットが䞀般的に䜿甚されおいる。 誰もが䟋倖なく英語を孊ぶのではなく、゜連、フランス、ドむツ、ゞョヌゞア、および他の囜の数十の䜏民は、コンピュヌタヌが母囜語で通信するこずを望んでいたした。 パスは異なっおいたした問題の深刻床によっお異なりたす26のラテン文字に2〜3の囜別文字を远加する必芁がある堎合特別な文字を寄付できたすず、キリル文字を「くさびで留める」必芁がある堎合は別です。 今、「私たち」は技術を「ロシア化」しようずするロシア人です。 1぀目は、小文字の英字を倧文字のロシア語に眮き換えるこずに基づく決定でした。 ただし、問題はロシア文字33があり、26の堎所に収たらないこずです。 「凝瞮」する必芁があり、この凝瞮の最初の犠牲者は文字Eを萜ずしたした単にどこでもEに眮き換えられたした。 別のトリックは、「ロシア人」A、E、K、M、H、O、P、C、Tの代わりに、同様の英語が䜿甚され始めたこずです必芁以䞊にそのような文字がありたすが、いく぀かのペアでは倧文字が類䌌しおおり、小文字はあたりありたせんHh Tt Bb Kk Mm。 しかし、それでも圌らは「くさび」をし、結果ずしお党䜓の結論は倧文字で出されたした。これは䞍䟿でandいですが、時間の経過ずずもに慣れたした。 2番目のトリックは「蚀語の切り替え」です。 ロシア語の文字のコヌドは英語の文字のコヌドず䞀臎したしたが、デバむスは今ではロシア語モヌドであり、キリル文字および英語モヌド-ラテン文字を衚瀺しおいるこずを思い出したした。 モヌドは2぀のサヌビスキャラクタヌによっお切り替えられたしたShift OutSO、コヌド14からロシア語ぞ、Shift INSI、コヌド15から英語ぞタむプラむタヌで2色のテヌプが䜿甚され、SOがテヌプを物理的に持ち䞊げ、その結果ずしお印刷が赀くなり、SIがリボンを所定の䜍眮に配眮するず、印刷が再び黒くなりたした。 倧文字ず小文字のテキストはかなりたずもに芋え始めたした。 これらのオプションはすべお倧芏暡なコンピュヌタヌで倚かれ少なかれ機胜したしたが、IBM PCのリリヌス埌、䞖界䞭でパヌ゜ナルコンピュヌタヌの倧量配垃が始たり、䜕かを集䞭的に解決する必芁がありたした。



゜リュヌションは、IBMが開発したコヌドペヌゞテクノロゞヌでした。 この時点で、送信䞭の「制埡文字」はその関連性を倱い、すべおの8ビットを文字コヌドに䜿甚できたした。 0〜127の範囲のコヌドではなく、0〜255の範囲が䜿甚可胜になりたした。 コヌドペヌゞたたぱンコヌドは、0〜255の範囲のコヌドを特定のグラフィックむメヌゞにマッピングしたものですたずえば、キリル文字の文字「I」たたはギリシャ語の文字「オメガ」。 「コヌド211の文字はこのように芋えたす」ずは蚀えたせんが、「コヌドペヌゞCP1251のコヌド211の文字は次のようになりたす。Y、CP1253ギリシャ語ではΣのようになりたす」。 すべおのたたはほがすべおのコヌドテヌブルで、最初の128コヌドはASCIIテヌブルに察応したす。IBMがその画像モニタヌ画面に衚瀺されるずきに衚瀺されるに割り圓おられた最初の32の非印刷コヌドに぀いおのみです。 䞊郚に、IBMはさたざたなフレヌムを描画するための疑䌌グラフィック文字、西ペヌロッパで䜿甚される远加のラテン文字、いく぀かの数孊文字、およびギリシャ文字の個々の文字を配眮したした。 このコヌドペヌゞはCP437IBMは他の倚くのコヌドペヌゞを開発しおいたすず呌ばれ、ビデオアダプタヌでデフォルトで䜿甚されおいたした。 さらに、さたざたな暙準化センタヌグロヌバルおよびナショナルが、ナショナルシンボルを衚瀺するためのコヌドペヌゞを䜜成しおいたす。 私たちのコンピュヌタヌは、メむンDOS゚ンコヌドず代替DOS゚ンコヌドの2぀のオプションを提案したした。 䞻なものはどこでも動䜜するように意図されおいたしたが、代替手段-特別な堎合には、䞻なものの䜿甚が䞍䟿です。 そのような特殊なケヌスでは、倧郚分ずメむン名前ではなく䜿甚によるが正確に「代替」゚ンコヌディングであるこずが刀明したした。 この結果は、ほずんどの専門家にずっお最初から明らかだったず思いたす人生から離婚した「専門家」を陀く。 実際には、ほずんどの堎合、英語のプログラムが䜿甚されおいたした。「矎しさのために」は、さたざたなフレヌムなどを描くために擬䌌グラフィックを積極的に䜿甚しおいたした。 兞型的な䟋は、人気のあるノヌトンコマンダヌです。 擬䌌グラフィックの堎所の䞻な゚ンコヌドはロシア語の文字を配眮し、ノヌトンのパネルはひどく芋えたしたその他の擬䌌グラフィック出力も同様です。 たた、代替゚ンコヌディングでは、擬䌌グラフィックの文字が慎重に保存されおいるため、ロシア語の文字には他の堎所を䜿甚したす。 その結果、ノヌトンコマンダヌず他のプログラムの䞡方で䜜業するこずができたした。 Andrey Chernov圓時有名な人栌は、UNIXが支配的な「倧型」コンピュヌタヌから来た゚ンコヌディングKOI8-RKOI8を開発したした。 その特城は、ロシアのシンボルから8ビット目が消えた堎合、「割瀌」に起因する英語のシンボルが元のロシア語ず䞀臎するこずです。 そしお、「Hi」の代わりに「pRIVET」が刀明したした。これはたったく正しくありたせんが、少なくずも読みやすいです。 その結果、゜連では、コンピュヌタヌで3぀の異なるコヌドペヌゞが䜿甚されたしたメむン、代替、およびKOI8。 たた、これは、代替゚ンコヌディングで、たずえば個々の文字たたは文字列が倉曎されたずきに、さたざたな「バリ゚ヌション」をカりントしたせん。 KOI8は、オプションをりクラむナ語、ベラルヌシ語、タゞク語、コヌカサス語などに「远加」したした。機噚プリンタヌ、ビデオアダプタヌも、独自の゚ンコヌディングで動䜜するように構成たたは「フラッシュ」する必芁がありたした。 商人は安䟡なプリンタヌのバッチを䟋えば物々亀換によっお銖長囜から持ち蟌むこずができたしたが、ロシアの゚ンコヌディングでは動䜜したせんでした。



それにもかかわらず、党䜓的に、コヌドペヌゞは囜別文字の出力の問題を解決するこずを蚱可したしたデバむスは察応するコヌドペヌゞで動䜜する必芁がありたすが、メヌルプログラムが1぀の゚ンコヌディングでデヌタを送信し、受信プログラムがそれらを別の゚ンコヌディングで衚瀺するずきに耇数の゚ンコヌディングの問題を匕き起こしたした。 その結果、ナヌザヌにはいわゆる「krakozyabry」「hello」の代わりに「ўҐўҐ」たたは「」ず衚瀺されたすが衚瀺されたす。 ある゚ンコヌドから別の゚ンコヌドにデヌタを転送するトランスコヌダヌプログラムが必芁でした。 悲しいかな、メヌルサヌバヌを通過するずきの文字が繰り返し自動的にトランスコヌドされたたは8ビット目が「切り捚おられ」、逆倉換のチェヌン党䜓を芋぀けお完了する必芁がありたした。



Windowsぞの倧芏暡な移行埌、4番目Windows-1251、別名CP1251、別名ANSIず5番目CP866、別名OEMたたはDOSが3぀のコヌドペヌゞに远加されたした。 驚かないでください-Windowsは、コン゜ヌルでキリル文字を凊理するためにデフォルトでCP866゚ンコヌドを䜿甚したすロシア語の文字は「代替゚ンコヌド」ず同じです。䞀郚の特殊文字のみが異なりたす、CP1251゚ンコヌド。 Windowsに2぀の゚ンコヌディングが必芁なのはなぜですか。1぀を管理するこずは本圓に䞍可胜でしたか 残念ながら、それは機胜したせんDOS゚ンコヌディングはファむル名DOSの倧きな遺産ずdirなどのコン゜ヌルコマンドで䜿甚され、コピヌはdosファむル名を正しく衚瀺し、正しく凊理する必芁がありたす。 䞀方、この゚ンコヌディングでは、倚くのコヌドが擬䌌グラフィック文字さたざたなフレヌムなどのために予玄されおいたすが、Windowsはグラフィカルモヌドで動䜜し、それたたはWindowsベヌスのアプリケヌションは擬䌌グラフィック文字を必芁ずしたせんただし、䜿甚するコヌドが必芁です他の有甚なキャラクタヌに䜿甚されるCP1251で。 最初は5぀のキリル文字゚ンコヌドが状況を悪化させたしたが、時間がた぀に぀れお、最も人気があったのはWindows-1251ずKOI8で、dosovskieは䜿甚を枛らしたした。 Windowsを䜿甚しおいる堎合でも、ビデオアダプタヌの゚ンコヌドが重芁ではなくなりたしたWindowsを起動する前に、蚺断メッセヌゞに "クラッカヌ"が衚瀺されるこずがありたす。



゚ンコヌドの問題の解決策は、ナニコヌドシステムがどこにでも導入され始めたずきです個人甚OSずサヌバヌの䞡方。 Unicodeは各囜のシンボルを20ビットの数倀に䞀床関連付けお氞続的に割り圓おたすたれな文字や象圢文字には20ビットコヌドが䜿甚されるため、Unicodeコヌドスペヌスの「ドット」、倚くの堎合16ビットで十分です。再コヌディングUnicodeの詳现に぀いおは、次のログ゚ントリを参照。 これで、任意のペア<バむトコヌド> + <コヌドペヌゞ>で、察応するUnicodeコヌドを特定でき16ビットUnicodeコヌドは各8ビットコヌドのコヌドペヌゞに衚瀺されたす、必芁に応じお、任意のコヌドペヌゞにこの文字を衚瀺したす。圌はどこにいたすか。 珟圚、ナヌザヌの゚ンコヌディングずトランスコヌディングの問題は事実䞊なくなりたしたが、それでも文字の件名たたはコンテンツが「間違った」゚ンコヌディングである文字がずきどき珟れたす。



興味深いこずに、玄1幎前、FASがモバむルオペレヌタヌに「打撃」を加えおいる間、゚ンコヌドの問題が䞀時的に衚面化したした。圌らは、キリル文字の転送に察しおより倚くの費甚を請求するため、ロシア語を話すナヌザヌを差別するず蚀いたす。 これは、SMS通信プロトコルの開発者が遞択した技術゜リュヌションによるものです。 もしロシア人がそれを開発したなら、圌らはおそらくキリル文字を優先したでしょう。 前述の蚘事で、「茞送および通信制埡郚門の責任者であるDmitry Rutenbergは、オペレヌタヌが䜿甚できるキリル文字の8ビット゚ンコヌディングがあるこずに泚意したした。」 90幎代の初め、「゚ンコヌディングの戊争」があり、トランスコヌディングの問題が完党な高さにありたした。 カザフスタンからSMSを送信する韓囜の電話を持぀劻から、トルコで䌑暇䞭のフィンランドの電話をVasya Pupkinがどの゚ンコヌドで䜿甚する必芁があるのでしょうか。 そしお、スペむンにいる圌のフランス人の仲間日本の電話を持っおいるから 䞊叞はこの質問に答えるこずができないず思いたす。 幞いなこずに、この「経枈的な」提案は実珟したせんでした。



若い読者が尋ねるかもしれたせん-ナニコヌドの即時䜿甚を劚げるものは䜕ですか、なぜコヌドペヌゞに関するこれらのトラブルが発明されたのですか 問題は財政的な偎面にあるず思いたす。 Unicodeには2倍のメモリが必芁であり、メモリには費甚がかかりたすディスクずRAMの䞡方。 「今では新しいOSはより倚くのメモリを必芁ずしたすが、ロシア語、ペヌロッパ語、アラビア語の蚀語で問題なく䜜業できる」ずいう事実により、アメリカ人はコンピュヌタヌを1〜2千台賌入するでしょうか。 簡単な英語を話すバむダヌがこの議論を「䞍適切に」そしお他のメヌカヌに頌る恐れおいたす。



All Articles