ASN.1 Types.

ASN.1 introduces standard mechanizm of building up complex types. Simple types are used as atoms to buid more complex structured types. And as mentioned before, there are some useful biult-in types.

Simple types

Simple types are intended to be a ultimate basis for any complex type design. They comprise types for representing numerical information (integer, real), finite sets of values (null, boolean, enumerated), transparent data (bit string, octet string), string of characters from various character sets and object indentifiers. Each type has both type and value notation, in which simple type keyword consist of one or two words spelling out the name in English. So here are they:

The type notation for each character string type is a predefined type reference as for the useful types. These types simply spell out the name of character set in English:

Here you can find some examples about using character string types.

Structured types

Structured types are based on simple types or any subtype derived from them. The term for a single entity of a structure is component. The number of possible structured types is infinite, althoug there is just small finite set of operations to construct them. There are structured types constructed by simple collecting components of the same or different types, these collection can be ordered or not. Then there are structured types constructed by choosing from finite set of components. And, last but not least, special type representing any type. Here are the keywords, as usual spelling out their function in English:

Useful types

Useful types are those which can be normally described by ASN.1 syntax, but they are already defined and available to users because of their general usefulness.