6ビット文字コードは、ワード長が6の倍数であるコンピュータで使用するために設計された文字エンコーディングです。6ビットでは64種類の文字しかエンコードできないため、これらのコードには通常、大文字、数字、一部の句読点、および場合によっては制御文字のみが含まれます。7トラック磁気テープ形式は、このようなコードにデータを格納するために開発され、さらにパリティビットが追加されています。
初期の6ビット二進コードは、1820年代に開発された盲人向けの読書システムである点字に使用されていた。
初期のコンピュータは数値データのみを扱い、文字データのための機能は備えていませんでした。6ビット BCD は、いくつかのバリエーションとともに、1953 年のIBM 702や1954 年のIBM 704などの初期のコンピュータでIBMによって使用されました。 [ 1 ] : p.35 6 ビットのエンコーディングは、 System/360が8 ビットバイトを標準化した1964 年以降、 8 ビットEBCDICコードに置き換えられました。このタイプのコードにはいくつかのバリエーションがあります (下記参照)。
6ビット文字コードは一般的に5ビットのボードコードの後継であり、7ビットのASCIIの前に登場した。
6ビットコードでは、シフトアウト文字とシフトイン文字を使用することで、64文字以上をエンコードすることができました。これは、実質的に2つの異なる62文字セットを組み込み、それらを切り替えることで実現しました。例えば、広く普及していたIBM 2741通信端末は、最大88文字の印刷文字と制御文字を含む、さまざまな文字セットをサポートしていました。
1930 年頃から、5 レベルの国際電信アルファベットの 6 レベル拡張版が、ライノタイプ機の遠隔制御に使用されました。1950年までには、通信社が参加新聞社に事前にフォーマットされたニュース記事を送信するために広く使用されました。ライノタイプ機の 90 種類の印刷可能な文字に加えて、空白文字もサポートしていました。
TTSコードには2組のシフトコードがあり、合計4つのシフト状態が可能でした。1組目はキーボードのシフトキーとほぼ同じように機能し、小文字と数字のレパートリーと、大文字と記号のレパートリーを切り替えました。2組目のLinotype固有の「下レール」と「上レール」のシフトコードは、代替フォント(通常はイタリック体)を選択しました。
6ビットBCDコードは、パンチカードコードをバイナリコードに応用したものです。IBMは、初期のIBMコンピュータのほとんどで使用されていたBCDアルファベットのバリエーションに、バイナリコード化10進数(BCD)という用語を適用しました。これには、 IBM 1620、IBM 1400シリーズ、およびIBM 700/7000シリーズの非10進数アーキテクチャのメンバーが含まれます。
COBOLデータベースでも6ビットコードが使用されており、レコードの末尾情報は別に格納されていた。
ISO/IEC 7811-2で規定されているように、磁気ストライプカードのトラック1では、奇数パリティビットを追加した6ビットコードが使用されます。
よく使われた6ビットコードはDEC SIXBITでした。これは、ASCII文字コード32~95を32を減算して0~63に符号化したものです(つまり、ASCIIテーブルの2、3、4、5列目(1列あたり16文字)を、上位ビットから2を減算して0~3列目にシフトしたものです)。スペース、句読点、数字、大文字は含まれますが、制御文字は含まれません。制御文字、改行文字さえ含まれないため、一般的なテキスト処理には使われませんでした。しかし、ファイル名やアセンブラシンボルなどの6文字の名前は、 PDP-10の36ビットワード1つに格納でき、 PDP-1の各ワードには3文字、 PDP-8の各ワードには2文字が収まりました。
もう一つの、あまり一般的ではないバリエーションは、ASCIIコード32~95の範囲で最上位ビットを取り除くことによって得られます(コード32~63はそのままの位置にあり、それより高い値からは64が減算されます)。このようなバリエーションは、DECのPDP-8(1965年)で時折使用されていました。
DECのコードに似ているが、いくつかの句読点文字を最も有用な制御文字(SO/SIなど)に置き換えてコード拡張を可能にした6ビットコードが、1963年にECMA - 1として規定された。4年後、ISO勧告R 646-1967(後にISO規格646に発展)には、いくつかの文字に許可される代替オプションの一部が異なるだけで、ほぼ同じ6ビットコードが含まれていた。ECMA-1は最終的に廃止され、ISO 646-1973では6ビットコードが明示的に削除され、7ビットコードのみが標準化された。
ICT (後にICL)の1900シリーズのメインフレームは、内部ストレージと処理のために、1963年の初期バージョンのASCIIから派生した6ビットコードを使用しており、そのドキュメントでは「ECMA文字セット」と呼ばれていた。
自動識別システム(AIS)は、エンコードされたAIVDM/AIVDOペイロード内の文字列にこのコードを使用します。[ 2 ]
FIELDATA は、オプションのパリティを持つ 7 ビット コードで、正式には 64 個のコード位置 (6 ビットを占める) のみが定義されていました。[ 3 ] UNIVACの 1100 シリーズ コンピュータでは、このバリアントが使用されました。 [ 4 ]これらのシステムは、このコードを 6 ビット コードとして扱い、36 ビット ワード (このような縮小された FIELDATA 文字を 6 つ格納可能) を使用しました。[ 5 ]
点字は、長方形に配置された6つの点の位置で表されます。各点には隆起した点がある場合とない場合があるため、点字は6ビットの2進コードと考えることができます。より現代的な点字システムの中には、さらに2つの点を追加して8ビットコードにしているものもあります。
テキスト専用に設計されたシステムを介してバイナリデータを送信すると、問題が発生する場合があります。たとえば、電子メールは従来、7ビットASCIIコードのみをサポートしており、8ビット目を削除していたため、問題のあるメールサーバーを介して直接送信されたバイナリデータは破損していました。他のシステムでは、保存中または送信中に制御文字を正しく解釈しないことで問題が発生する場合があります。8ビットデータをテキスト専用表現にパックして、テキストメールシステムを通過させ、宛先でデコードするための方式がいくつか存在します。バイナリデータのパックに使用される6ビット文字サブセットの例としては、UuencodeとBase64があります。これらのセットには制御文字が含まれておらず(印刷可能な数字、文字、一部の句読点、場合によってはスペースのみ)、人間が読めるテキストを送信できるあらゆる媒体を介してデータを送信できます。
商用データ処理を支配していたIBMは、パンチカードで使用される文字セットに関連付けられたさまざまな6ビットコードを使用していた(BCD (文字エンコーディング)を参照 ) 。
その他のベンダーの文字コードと、それに対応するUnicodeコードを以下に示します。
次の表は、文字の配置、16進数値、対応するASCII文字、点字6ビットコード(ドットの組み合わせ)、点字Unicodeグリフ、および一般的な意味(実際の意味は文脈によって変わる場合があります)を示しています。[ 6 ] [ 7 ]