UTF-EBCDIC

UTF-EBCDICは、Unicode文字を表現するために使用される文字コード体系であり、特にEBCDIC(Extended Binary Coded Decimal Interchange Code)との親和性を重視して設計されています。この文字コードの主な目的は、従来のEBCDICベースのアプリケーションを、大きな変更を加えることなくUnicodeを処理できるようにすることです。これは、既存のASCIIベースのシステムにとってのUTF-8の利点と類似しています。UTF-EBCDICの技術的な詳細は、Unicode技術報告#16で定義されています。

UTF-EBCDICは、Unicode符号位置の並びを得るために、まずUTF-8に基づいた符号化方式(UTF-8-Modと記述されることが多い)を適用します。UTF-8-Modと標準のUTF-8との大きな違いは、Unicode符号位置のU+0080からU+009Fまでの範囲(C1制御文字)を1バイトで表現するために、EBCDICの制御文字に対応させる点です。これを実現するために、マルチバイトシーケンスの後続バイトの形式として、標準のUTF-8で使用される「10XXXXXX」の代わりに「101XXXXX」が使用されます。この変更により、1バイトあたりに保持できる情報量が、UTF-8の6ビットから5ビットに減少するため、一般的にUTF-EBCDICは、同じ入力データに対してUTF-8よりも大きな出力サイズになります。

次に、この変換によって得られたASCIIベースのデータに対して、可逆的なバイト単位の変換が適用されます。この変換は、表索引を用いて行われ、可能な限り通常のEBCDICコードページに近づけることを目指します。これらの手順を逆に行うことで、元のUnicode符号位置へ容易に復元することが可能です。

しかしながら、UTF-EBCDICは、その設計対象であったEBCDICベースのメインフレーム環境においても、実際にはほとんど使用されていません。例えば、IBM製のEBCDICベースのメインフレームOSであるz/OSでは、完全なUnicodeサポートに通常UTF-16が使用されています。DB2 UDB、COBOLPL/I|PL_IJava、およびIBM XMLツールキットなど、多くのIBMの主要なソフトウェアや開発環境が、メインフレーム上でUTF-16をサポートしています。このため、UTF-EBCDICは特定のシナリオを除いて、あまり普及していない文字コード体系となっています。

参考資料として、Unicode Consortiumによる「Unicode Terminology English - Japanese」を参照すると、Unicode関連の用語についてより詳しく知ることができます。

さらに、Unicode Technical Report #16 (UTF-EBCDICの定義) を参照すると、UTF-EBCDICの技術的な詳細について、英語で確認することができます。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。