Already a subscriber?
MADCAD.com Free Trial
Sign up for a 3 day free trial to explore the MADCAD.com interface, PLUS access the
2009 International Building Code to see how it all works.
If you like to setup a quick demo, let us know at support@madcad.com
or +1 800.798.9296 and we will be happy to schedule a webinar for you.
Security check
Please login to your personal account to use this feature.
Please login to your authorized staff account to use this feature.
Are you sure you want to empty the cart?
BS ISO/IEC 8825-3:2021 Information technology. ASN.1 encoding rules - Specification of Encoding Control Notation (ECN), 2021
- undefined
- Blank Page
- CONTENTS
- Introduction
- 1 Scope
- 2 Normative references [Go to Page]
- 2.1 Identical Recommendations | International Standards
- 2.2 Additional references
- 3 Definitions [Go to Page]
- 3.1 ASN.1 definitions
- 3.2 ECN-specific definitions
- 4 Abbreviations
- 5 Definition of ECN syntax
- 6 Encoding conventions and notation
- 7 The ECN character set
- 8 ECN lexical items [Go to Page]
- 8.1 Encoding object references
- 8.2 Encoding object set references
- 8.3 Encoding class references
- 8.4 Reserved word items
- 8.5 Reserved encoding class name items
- 8.6 Non-ECN item
- 9 ECN Concepts [Go to Page]
- 9.1 Encoding Control Notation (ECN) specifications
- 9.2 Encoding classes
- 9.3 Encoding structures
- 9.4 Encoding objects
- 9.5 Encoding object sets
- 9.6 Defining new encoding classes
- 9.7 Defining encoding objects
- 9.8 Differential encoding-decoding
- 9.9 Encoders options in encodings
- 9.10 Properties of encoding objects
- 9.11 Parameterization
- 9.12 Governors
- 9.13 General aspects of encodings
- 9.14 Identification of information elements
- 9.15 Reference fields and determinants
- 9.16 Replacement classes and structures
- 9.17 Mapping abstract values onto fields of encoding structures
- 9.18 Transforms and transform composites
- 9.19 Contents of Encoding Definition Modules
- 9.20 Contents of the Encoding Link Module
- 9.21 Defining encodings for primitive encoding classes
- 9.22 Application of encodings
- 9.23 Combined encoding object set
- 9.24 Application point
- 9.25 Conditional encodings
- 9.26 Other conditions for applying encodings
- 9.27 Encoding control for the open type
- 9.28 Changes to ASN.1 Recommendations | International Standards
- 10 Identifying encoding classes, encoding objects, and encoding object sets
- 11 Encoding ASN.1 types [Go to Page]
- 11.1 General
- 11.2 Built-in encoding classes used for implicitly generated encoding structures
- 11.3 Simplification and expansion of ASN.1 notation for encoding purposes
- 11.4 The implicitly generated encoding structure
- 12 The Encoding Link Module (ELM) [Go to Page]
- 12.1 Structure of the ELM
- 12.2 Encoding types
- 13 Application of encodings [Go to Page]
- 13.1 General
- 13.2 The combined encoding object set and its application
- 14 The Encoding Definition Module (EDM)
- 15 The renames clause [Go to Page]
- 15.1 Explicitly generated and exported structures
- 15.2 Name changes
- 15.3 Specifying the region for name changes
- 16 Encoding class assignments [Go to Page]
- 16.1 General
- 16.2 Encoding structure definition
- 16.3 Alternative encoding structure
- 16.4 Repetition encoding structure
- 16.5 Concatenation encoding structure
- 17 Encoding object assignments [Go to Page]
- 17.1 General
- 17.2 Encoding with a defined syntax
- 17.3 Encoding with encoding object sets
- 17.4 Encoding using value mappings
- 17.5 Encoding an encoding structure
- 17.6 Differential encoding-decoding
- 17.7 Encoding options
- 17.8 Non-ECN definition of encoding objects
- 18 Encoding object set assignments [Go to Page]
- 18.1 General
- 18.2 Built-in encoding object sets
- 19 Mapping values [Go to Page]
- 19.1 General
- 19.2 Mapping by explicit values
- 19.3 Mapping by matching fields
- 19.4 Mapping by #TRANSFORM encoding objects
- 19.5 Mapping by abstract value ordering
- 19.6 Mapping by value distribution
- 19.7 Mapping integer values to bits
- 20 Defining encoding objects using defined syntax
- 21 Types used in defined syntax specification [Go to Page]
- 21.1 The Unit type
- 21.2 The EncodingSpaceSize type
- 21.3 The EncodingSpaceDetermination type
- 21.4 The UnusedBitsDetermination type
- 21.5 The OptionalityDetermination type
- 21.6 The AlternativeDetermination type
- 21.7 The RepetitionSpaceDetermination type
- 21.8 The Justification type
- 21.9 The Padding type
- 21.10 The Pattern and Non-Null-Pattern types
- 21.11 The RangeCondition type
- 21.12 The Comparison type
- 21.13 The SizeRangeCondition type
- 21.14 The ReversalSpecification type
- 21.15 The ResultSize type
- 21.16 The HandleValueSet type
- 21.17 The IntegerMapping type
- 22 Commonly used encoding property groups [Go to Page]
- 22.1 Replacement specification [Go to Page]
- 22.1.1 Encoding properties, syntax and purpose
- 22.1.2 Specification restrictions
- 22.1.3 Encoder actions
- 22.1.4 Decoder actions
- 22.2 Pre-alignment and padding specification [Go to Page]
- 22.2.1 Encoding properties, syntax and purpose
- 22.2.2 Specification constraints
- 22.2.3 Encoder actions
- 22.2.4 Decoder actions
- 22.3 Start pointer specification [Go to Page]
- 22.3.1 Encoding properties, syntax and purpose
- 22.3.2 Specification constraints
- 22.3.3 Encoder actions
- 22.3.4 Decoder actions
- 22.4 Encoding space specification [Go to Page]
- 22.4.1 Encoding properties, syntax and purpose
- 22.4.2 Specification restrictions
- 22.4.3 Encoder actions
- 22.4.4 Decoder actions
- 22.5 Optionality determination [Go to Page]
- 22.5.1 Encoding properties, syntax and purpose
- 22.5.2 Specification restrictions
- 22.5.3 Encoder actions
- 22.5.4 Decoder actions
- 22.6 Alternative determination [Go to Page]
- 22.6.1 Encoding properties, syntax and purpose
- 22.6.2 Specification restrictions
- 22.6.3 Encoder actions
- 22.6.4 Decoder actions
- 22.7 Repetition space specification [Go to Page]
- 22.7.1 Encoding properties, syntax and purpose
- 22.7.2 Specification constraints
- 22.7.3 Encoder actions
- 22.7.4 Decoder actions
- 22.8 Value padding and justification [Go to Page]
- 22.8.1 Encoding properties, syntax, and purpose
- 22.8.2 Specification restrictions
- 22.8.3 Encoder actions
- 22.8.4 Decoder actions
- 22.9 Identification handle specification [Go to Page]
- 22.9.1 Encoding properties, syntax and purpose
- 22.9.2 Specification constraints
- 22.9.3 Encoders actions
- 22.9.4 Decoders actions
- 22.10 Concatenation specification [Go to Page]
- 22.10.1 Encoding properties, syntax and purpose
- 22.10.2 Specification constraints
- 22.10.3 Encoder actions
- 22.10.4 Decoder actions
- 22.11 Contained type encoding specification [Go to Page]
- 22.11.1 Encoding properties, syntax and purpose
- 22.11.2 Encoder actions
- 22.11.3 Decoder actions
- 22.12 Bit reversal specification [Go to Page]
- 22.12.1 Encoding properties, syntax, and purpose
- 22.12.2 Specification constraints
- 22.12.3 Encoder actions
- 22.12.4 Decoder actions
- 23 Defined syntax specification for bit-field and constructor classes [Go to Page]
- 23.1 Defining encoding objects for classes in the alternatives category [Go to Page]
- 23.1.1 The defined syntax
- 23.1.2 Purpose and restrictions
- 23.1.3 Encoder actions
- 23.1.4 Decoder actions
- 23.2 Defining encoding objects for classes in the bitstring category [Go to Page]
- 23.2.1 The defined syntax
- 23.2.2 Model for the encoding of classes in the bitstring category
- 23.2.3 Purpose and restrictions
- 23.2.4 Encoder actions
- 23.2.5 Decoder actions
- 23.3 Defining encoding objects for classes in the boolean category [Go to Page]
- 23.3.1 The defined syntax
- 23.3.2 Purpose and restrictions
- 23.3.3 Encoder actions
- 23.3.4 Decoder actions
- 23.4 Defining encoding objects for classes in the characterstring category [Go to Page]
- 23.4.1 The defined syntax
- 23.4.2 Model for the encoding of classes in the characterstring category
- 23.4.3 Purpose and restrictions
- 23.4.4 Encoder actions
- 23.4.5 Decoder actions
- 23.5 Defining encoding objects for classes in the concatenation category [Go to Page]
- 23.5.1 The defined syntax
- 23.5.2 Purpose and restrictions
- 23.5.3 Encoder actions
- 23.5.4 Decoder actions
- 23.6 Defining encoding objects for classes in the integer category [Go to Page]
- 23.6.1 The defined syntax
- 23.6.2 Purpose and restrictions
- 23.6.3 Encoder actions
- 23.6.4 Decoder actions
- 23.7 Defining encoding objects for the #CONDITIONAL-INT class [Go to Page]
- 23.7.1 The defined syntax
- 23.7.2 Purpose and restrictions
- 23.7.3 Encoder actions
- 23.7.4 Decoder actions
- 23.8 Defining encoding objects for classes in the null category [Go to Page]
- 23.8.1 The defined syntax
- 23.8.2 Purpose and restrictions
- 23.8.3 Encoder actions
- 23.8.4 Decoder actions
- 23.9 Defining encoding objects for classes in the octetstring category [Go to Page]
- 23.9.1 The defined syntax
- 23.9.2 Model for the encoding of classes in the octetstring category
- 23.9.3 Purpose and restrictions
- 23.9.4 Encoder actions
- 23.9.5 Decoder actions
- 23.10 Defining encoding objects for classes in the open type category [Go to Page]
- 23.10.1 The defined syntax
- 23.10.2 Model for the encoding of classes in the open type category
- 23.10.3 Purpose and restrictions
- 23.10.4 Encoder actions
- 23.10.5 Decoder actions
- 23.11 Defining encoding objects for classes in the optionality category [Go to Page]
- 23.11.1 The defined syntax
- 23.11.2 Purpose and restrictions
- 23.11.3 Encoder actions
- 23.11.4 Decoder actions
- 23.12 Defining encoding objects for classes in the pad category [Go to Page]
- 23.12.1 The defined syntax
- 23.12.2 Purpose and restrictions
- 23.12.3 Encoder actions
- 23.12.4 Decoder actions
- 23.13 Defining encoding objects for classes in the repetition category [Go to Page]
- 23.13.1 The defined syntax
- 23.13.2 Purpose and restrictions
- 23.13.3 Encoder actions
- 23.13.4 Decoder actions
- 23.14 Defining encoding objects for the #CONDITIONAL-REPETITION class [Go to Page]
- 23.14.1 The defined syntax
- 23.14.2 Purpose and restrictions
- 23.14.3 Encoder actions
- 23.14.4 Decoder actions
- 23.15 Defining encoding objects for classes in the tag category [Go to Page]
- 23.15.1 The defined syntax
- 23.15.2 Purpose and restrictions
- 23.15.3 Encoder actions
- 23.15.4 Decoder actions
- 23.16 Defining encoding objects for classes in the other categories
- 24 Defined syntax specification for the #TRANSFORM encoding class [Go to Page]
- 24.1 Summary of encoding properties and defined syntax
- 24.2 Source and target of transforms
- 24.3 The int-to-int transform
- 24.4 The bool-to-bool transform
- 24.5 The bool-to-int transform
- 24.6 The int-to-bool transform
- 24.7 The int-to-chars transform
- 24.8 The int-to-bits transform
- 24.9 The bits-to-int transform
- 24.10 The char-to-bits transform
- 24.11 The bits-to-char transform
- 24.12 The bit-to-bits transform
- 24.13 The bits-to-bits transform
- 24.14 The chars-to-composite-char transform
- 24.15 The bits-to-composite-bits transform
- 24.16 The octets-to-composite-bits transform
- 24.17 The composite-char-to-chars transform
- 24.18 The composite-bits-to-bits transform
- 24.19 The composite-bits-to-octets transform
- 25 Complete encodings and the #OUTER class [Go to Page]
- 25.1 Encoding properties, syntax and purpose for the #OUTER class
- 25.2 Encoder actions for #OUTER
- 25.3 Decoder actions for #OUTER
- Annex A Addendum to Rec. ITU-T X.680 | ISO/IEC 8824-1 [Go to Page]
- A.1 Exports and imports clauses
- A.2 Addition of REFERENCE
- A.3 Notation for character string values
- Annex B Addendum to Rec. ITU-T X.681 | ISO/IEC 8824-2 [Go to Page]
- B.1 Definitions
- B.2 Additional lexical items [Go to Page]
- B.2.1 Ordered value list field references
- B.2.2 Ordered encoding object list field references
- B.2.3 Encoding class field references
- B.3 Addition of "ENCODING-CLASS"
- B.4 FieldSpec additions
- B.5 Fixed-type ordered value list field spec
- B.6 Fixed-class encoding object field spec
- B.7 Variable-class encoding object field spec
- B.8 Fixed-class encoding object set field spec
- B.9 Fixed-class ordered encoding object list field spec
- B.10 Encoding class field spec
- B.11 Ordered value list notation
- B.12 Ordered encoding object list notation
- B.13 Primitive field names
- B.14 Additional reserved words
- B.15 Definition of encoding objects
- B.16 Additions to "Setting"
- Annex C Addendum to Rec. ITU-T X.683 | ISO/IEC 8824-4
- Annex C Addendum to Rec. ITU-T X.683 | ISO/IEC 8824-4
- Annex D Examples [Go to Page]
- D.1 General examples [Go to Page]
- D.1.1 An encoding object for a boolean type
- D.1.2 An encoding object for an integer type
- D.1.3 Another encoding object for an integer type
- D.1.4 An encoding object for an integer type with holes
- D.1.5 A more complex encoding object for an integer type
- D.1.6 Positive integers encoded in BCD
- D.1.7 An encoding object of class #BITS
- D.1.8 An encoding object for an octetstring type
- D.1.9 An encoding object for a character string type
- D.1.10 Mapping character values to bit values
- D.1.11 An encoding object for a sequence type
- D.1.12 An encoding object for a choice type
- D.1.13 Encoding a bitstring containing another encoding
- D.1.14 An encoding object set
- D.1.15 ASN.1 definitions
- D.1.16 EDM definitions
- D.1.17 ELM definitions
- D.2 Specialization examples [Go to Page]
- D.2.1 Encoding by distributing values to an alternative encoding structure
- D.2.2 Encoding by mapping ordered abstract values to an alternative encoding structure
- D.2.3 Compression of non-continuous value ranges
- D.2.4 Compression of non-continuous value ranges using a transform
- D.2.5 Compression of an unevenly distributed value set by mapping ordered abstract values
- D.2.6 Presence of an optional component depending on the value of another component
- D.2.7 The presence of an optional component depends on some external condition
- D.2.8 A variable length list
- D.2.9 Equal length lists
- D.2.10 Uneven choice alternative probabilities
- D.2.11 A version 1 message
- D.2.12 The encoding object set
- D.2.13 ASN.1 definitions
- D.2.14 EDM definitions
- D.2.15 ELM definitions
- D.3 Explicitly generated structure examples [Go to Page]
- D.3.1 Sequence with optional components defined by a pointer
- D.3.2 Addition of a boolean type as a presence determinant
- D.3.3 Sequence with optional components identified by a unique tag and delimited by a length field
- D.3.4 Sequence-of type with a count
- D.3.5 Encoding object sets
- D.3.6 ASN.1 definitions
- D.3.7 EDM definitions
- D.3.8 ELM definitions
- D.4 A more-bit encoding example [Go to Page]
- D.4.1 Description of the problem
- D.4.2 Use of ASN.1 to provide the more-bit determinant
- D.4.3 Use of value mappings to provide the more-bit determinant
- D.4.4 Use of the replacement mechanism to provide the more-bit determinant
- D.5 Legacy protocol specified with tabular notation [Go to Page]
- D.5.1 Introduction
- D.5.2 Encoding definition for the top-level message structure
- D.5.3 Encoding definition for a message structure
- D.5.4 Encoding for the sequence type "B"
- D.5.5 Encoding for an octet-aligned sequence-of type with a length determinant
- D.5.6 Encoding for an octet-aligned sequence-of type which continues to the end of the PDU
- D.5.7 EDM definitions
- D.5.8 ELM definitions
- Annex E Support for Huffman encodings
- Annex F Additional information on the Encoding Control Notation (ECN)
- Annex G Summary of the ECN notation [Go to Page]