EBCDIC

EBCDIC:IBMが開発した歴史ある文字コード



EBCDIC(Extended Binary Coded Decimal Interchange Code、拡張二進化十進コード)は、IBMによって開発された8ビット文字コードです。ASCIIが普及する前の1963年に、既存のBCD(Binary-coded decimal、二進化十進コード)を拡張する形で誕生しました。そのため、ASCIIとは互換性がありません。

EBCDICは、特にIBMメインフレームオフィスコンピュータで広く使用されてきました。現在でも、レガシーシステムや特定の専門分野ではEBCDICが使用されている場合があります。しかし、現代のシステムでは、ASCIIUnicodeといった他の文字コードが主流となっています。

EBCDICの歴史と普及



EBCDICは、IBM System/360の登場と同時に発表されました。IBMASCII標準化委員会にも参加していましたが、当時のデータの大部分はパンチカードにBCD形式で保存されていたため、既存データとの互換性を重視し、BCDをベースとしたEBCDICを採用したのです。

System/360の成功はEBCDICの普及を加速させました。多くのIBM互換機メーカーもEBCDICを採用し、RCA Spectra、ICL System 4、富士通 FACOM、日立製作所 HITACといった機種で利用されました。日立製作所は独自のEBCDICをベースとした文字コード「EBCDIK」を開発しました。

現在でも、IBMのz/OS、z/VSE、z/VMといったメインフレーム用OSや、IBM iシリーズのOS/400などではEBCDICが標準の文字コードとして使用されています。しかし、これらのシステム上でも、UNIX互換環境(USS)やLinux、AIXなど、ASCIIUnicodeを使用する環境も存在します。そのため、EBCDICと他の文字コードASCII、Shift-JIS、Unicodeなど)間の変換は、オペレーティングシステムミドルウェア、アプリケーションソフトウェアなどで頻繁に行われています。

IBM以外のメーカーでも、BS2000、HP MPE、Unisys MCPなど、EBCDICをベースとした文字コードが使用されていました。

EBCDICの構造とコードページ



IBMのCDRA(Character Data Representation Architecture)では、EBCDICは「符号化方法」として位置付けられています。具体的な文字とコードの対応関係はコードページによって異なります。EBCDICでは、シングルバイト、ダブルバイト、マルチバイトの構造があり、それらの組み合わせによってCCSID(Coded Character Set Identifier)が定義されます。

例えば、日本語用のEBCDICのCCSIDは、ひらがなや漢字の有無などによって10種類以上定義されています。さらに、IBM以外のメーカーも独自のEBCDIC系文字コードを開発しているため、実際には多数のEBCDIC系統の文字コードが存在します。

コード配置と制御文字



EBCDICのコード配置は、コードページによって異なります。全てのコードページで共通の符号位置を持つ文字もありますが、多くの文字の位置はコードページによって変化します。

EBCDICにも、ASCIIと同様に通信制御や周辺機器制御用の制御文字が定義されています。その範囲は、16進数の00h~3Fhと0FFhです。ASCIIと共通の制御文字もありますが、改行制御など、異なる部分もあります。

例えば、改行制御に関する制御文字は、

EBCDIC:CR(Carriage Return)、NL(New Line)、LF(Line Feed)、FF(Form Feed)の4種類
ASCII:CR、LF、FFの3種類

と、違いが見られます。

EBCDICと現代



EBCDICは、歴史的背景から、現在でも特定のシステムで使用されていますが、新規開発ではASCIIUnicodeが主流です。EBCDICを使用するシステムとのデータ交換には、適切な文字コード変換が必要となります。IBMは、EBCDICを含む様々な文字コードに関する情報を公開しており、それらの情報は、システム開発やデータ移行において重要な役割を果たしています。

もう一度検索

【記事の利用について】

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

【リンクついて】

リンクフリーです。