UTF-EBCDIC

UTF-EBCDICはUnicode文字の表現に使われる文字コードである。EBCDICと親和性があり、メインフレーム上で動作する従来のEBCDICアプリケーションが大きな困難なしに文字を処理できるようにすることを意図している。既存のEBCDICベースのシステムにとっての利点は、既存のASCIIベースシステムにとってのUTF-8の利点に類似する。UTF-EBCDICの詳細はUnicode技術報告 #16で定義されている。

UTF-EBCDICで符号化されたUnicode符号位置の並びを得るには、UTF-8に基づいた符号化 (UTF-8-Modと呼ばれる仕様) をまず適用する。この符号化がUTF-8と主に異なる点は、Unicode符号位置の0080からU+009Fまで (C1制御文字) を、後で対応するEBCDICの制御文字へマップするため1バイトで表現できるようにしている点である。これを達成するため、10XXXXXXの代わりに101XXXXXがマルチバイトシーケンスにおける後続バイトの形式として使われる。これは1バイトあたり6ビット保持できるUTF-8と異なり5ビットしか保持できないため、一般にUTF-EBCDICは同じ入力データに対してUTF-8よりも大きな出力を生成する。

この変換ではデータはまだASCIIベースの形式であるため、表索引を用いて可逆なバイト単位の変換をこのデータに適用し、可能な限り通常のEBCDICコードページに近づける。これらの手順を逆にたどることにより容易にUnicode符号位置へ復元できる。

一般に、設計対象であったEBCDICベースのメインフレームにおいてさえ、この符号化形式は滅多に使われない。z/OSのような、IBM製のEBCDICベースのメインフレームのオペレーティングシステムは、通常完全なUnicodeサポートにUTF-16を使用する。たとえば、DB2 UDB、COBOL、PL/I、JavaおよびIBM XMLツールキットはIBMのメインフレーム上でUTF-16をサポートする。

参考資料 

用語の日本語表記は原則として次にならった。

外部リンク 
 Unicode Technical Report #16: UTF-EBCDICの定義

Unicode
文字コード
Unicode変換形式