2013年3月4日月曜日

フィールド構成 - タグフィールド

タグフィールド

タグフィールドは、ASN.1データ型を識別するためのフィールドです。フィールドは、1オクテット以上のオクテットから構成されます。このフィールドは、ASN.1データ型に関するクラス、タグ番号、符号化上の構造種別(基本型・構造型)から構成されます。
クラスは4つのクラスがあり、2ビット(ビット8およびビット7を使用)で表現されます。


符号化上の構造種別は1ビット(ビット6を使用)で表現されます。


タグフィールドを1オクテットで表現した場合、タグ番号に5ビットを使用することができ、その場合、64種類のタグ番号(データ型)を識別することが可能です。これでは、64種類以上のタグ番号(データ型)を識別することが不可能であるため、以下のような規則で符号化を行います。

  1. タグ番号が30以下の場合、残りの5ビットで表現します。
  2. タグ番号が31以上の場合、残りの5ビットをすべて1で設定し、続くオクテットでタグ番号をを表現します。その場合、符号化は以下の方法で行います。

  • 第二オクテット以降の各オクテットの最上位ビットは、タグフィールドの最終オクテットか否かを表わします。最上位ビットが0の場合、タグフィールドの最終オクテットであることを示します。この時、タグ番号の値は、第二オクテット以降の各オクテットの下位7ビットを連結して得られる非負整数の表現で符号化されます。

タグ番号が30以下の場合


タグ番号が31以上128以下の場合

タグ番号が129以上の場合



0 件のコメント:

コメントを投稿