A codificação de um valor de todos os tipos, exceto os externos deve- ra consistir de 4 componentes que deverão aparecer na seguinte ordem:
3.1.1. Os octetos de identificação indicam a classe e número:
Bits 8 7 6 5 4 3 2 1
/-------------------------------\
| | | | | | | | |
|___|___|___|___|___|___|___|___|
|classe-| | |--numero do rotulo-|
| \--------\
| |
Universal 00 \--- 0-codificação primitiva
Application 01 1-codificação complexa
Especifica ao contexto 10
Privada 11
octetos subsequentes
Quando o número do rótulo não puder ser expresso com
apenas 5 bits,
usa-se a forma seguinte:
Bits 8 7 6 8
/---------------\ /-------------\ /-------------\
| | | |1|1|1|1|1| |1| | | | | | | ... |0| | | | | | |
\---------------/ \-------------/ \-------------/
| | |
classe | 0-ultimo numero do rotulo
codificação| 1-não ultimo
primitiva 0
complexa 1
3.1.2. Octetos de comprimento
Poderão ser indicados de duas maneiras:
- um ou mais octetos indicando o comprimento do conteúdo
Neste caso, se o comprimento for menor do que 127 o formato será:
8 7
/-----------------\
|0| comprimento |
\-----------------/
se o comprimento for maior do que 127
8 7 1 8 7 1 8 1
/--------------------------\ /--------------\ /--------------\
|1|n octetos subsequentes |...| | | | | | |
\--------------------------/ \--------------/ \--------------/
|-------- comprimento ----------|
- indicando apenas o final do campo, da seguinte maneira:
8 7 1
/---------------\
|1|0|0|0|0|0|0|0|
\---------------/
Isto indica que o final do conteudo sera sinalizado por um octeto de
fim-de-conteudo.
3.1.3. Octetos de conteúdo
Zero ou mais octetos codificando os valores sendo transmitidos.
3.1.4. Octetos de fim-de-conteudo
Dois octetos zero. Este campo somente estará presente quando o
comprimento do conteúdo não for conhecido ao ser iniciada sua
transmissão;
neste caso, no octeto de comprimento será sinalizada esta forma de
delimitação de conteúdo (opção b acima)