ISO/IEC 8825-3:2008
(Main)Information technology - ASN.1 encoding rules: Specification of Encoding Control Notation (ECN) - Part 3:
Information technology - ASN.1 encoding rules: Specification of Encoding Control Notation (ECN) - Part 3:
ISO/IEC 8825-3:2008 defines Encoding Control Notation (ECN): a notation for specifying encodings of ASN.1 types or of parts of types. It provides several mechanisms for such specification, including: direct specification of the encoding using standardized notation; specification of the encoding by reference to standardized encoding rules; specification of the encoding of an ASN.1 type by reference to an encoding structure; specification of the encoding using non-ECN notation. It also provides the means to link the specification of encodings to the type definitions to which they are to be applied. ECN does not currently provide any support for specifications using the object identifier (OID) internationalized resource identifier type or the relative OID internationalized resource identifier type (see ISO/IEC 8824-1).
Technologies de l'information — Règles de codage ASN.1: Spécification de la notation de contrôle de codage (ECN) — Partie 3:
General Information
Relations
Frequently Asked Questions
ISO/IEC 8825-3:2008 is a standard published by the International Organization for Standardization (ISO). Its full title is "Information technology - ASN.1 encoding rules: Specification of Encoding Control Notation (ECN) - Part 3:". This standard covers: ISO/IEC 8825-3:2008 defines Encoding Control Notation (ECN): a notation for specifying encodings of ASN.1 types or of parts of types. It provides several mechanisms for such specification, including: direct specification of the encoding using standardized notation; specification of the encoding by reference to standardized encoding rules; specification of the encoding of an ASN.1 type by reference to an encoding structure; specification of the encoding using non-ECN notation. It also provides the means to link the specification of encodings to the type definitions to which they are to be applied. ECN does not currently provide any support for specifications using the object identifier (OID) internationalized resource identifier type or the relative OID internationalized resource identifier type (see ISO/IEC 8824-1).
ISO/IEC 8825-3:2008 defines Encoding Control Notation (ECN): a notation for specifying encodings of ASN.1 types or of parts of types. It provides several mechanisms for such specification, including: direct specification of the encoding using standardized notation; specification of the encoding by reference to standardized encoding rules; specification of the encoding of an ASN.1 type by reference to an encoding structure; specification of the encoding using non-ECN notation. It also provides the means to link the specification of encodings to the type definitions to which they are to be applied. ECN does not currently provide any support for specifications using the object identifier (OID) internationalized resource identifier type or the relative OID internationalized resource identifier type (see ISO/IEC 8824-1).
ISO/IEC 8825-3:2008 is classified under the following ICS (International Classification for Standards) categories: 35.100.60 - Presentation layer. The ICS classification helps identify the subject area and facilitates finding related standards.
ISO/IEC 8825-3:2008 has the following relationships with other standards: It is inter standard links to ISO/IEC 8825-3:2015, ISO/IEC 8825-3:2002, ISO/IEC 8825-3:2002/Amd 1:2005, ISO/IEC 8825-3:2002/Amd 2:2006. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.
You can purchase ISO/IEC 8825-3:2008 directly from iTeh Standards. The document is available in PDF format and is delivered instantly after payment. Add the standard to your cart and complete the secure checkout process. iTeh Standards is an authorized distributor of ISO standards.
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 8825-3
Second edition
2008-12-15
Information technology — ASN.1
encoding rules: Specification of
Encoding Control Notation (ECN)
Technologies de l'information — Règles de codage ASN.1:
Spécification de la notation de contrôle de codage (ECN)
Reference number
©
ISO/IEC 2008
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but
shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation
parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In
the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.
© ISO/IEC 2008
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or
ISO's member body in the country of the requester.
ISO copyright office
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published by ISO in 2009
Published in Switzerland
ii © ISO/IEC 2008 – All rights reserved
CONTENTS
Page
Foreword .ix
Introduction . x
1 Scope. 1
2 Normative references . 1
2.1 Identical Recommendations | International Standards . 1
2.2 Additional references . 2
3 Definitions. 2
3.1 ASN.1 definitions. 2
3.2 ECN-specific definitions. 2
4 Abbreviations . 5
5 Definition of ECN syntax. 5
6 Encoding conventions and notation . 5
7 The ECN character set. 6
8 ECN lexical items. 6
8.1 Encoding object references . 6
8.2 Encoding object set references. 7
8.3 Encoding class references . 7
8.4 Reserved word items. 7
8.5 Reserved encoding class name items . 7
8.6 Non-ECN item . 8
9 ECN Concepts. 8
9.1 Encoding Control Notation (ECN) specifications. 8
9.2 Encoding classes . 8
9.3 Encoding structures. 9
9.4 Encoding objects. 9
9.5 Encoding object sets. 10
9.6 Defining new encoding classes . 10
9.7 Defining encoding objects . 11
9.8 Differential encoding-decoding . 12
9.9 Encoders options in encodings. 12
9.10 Properties of encoding objects . 12
9.11 Parameterization. 13
9.12 Governors. 13
9.13 General aspects of encodings. 13
9.14 Identification of information elements. 14
9.15 Reference fields and determinants . 14
9.16 Replacement classes and structures. 14
9.17 Mapping abstract values onto fields of encoding structures . 15
9.18 Transforms and transform composites . 16
9.19 Contents of Encoding Definition Modules . 17
9.20 Contents of the Encoding Link Module. 17
9.21 Defining encodings for primitive encoding classes . 17
9.22 Application of encodings . 19
9.23 Combined encoding object set . 20
9.24 Application point. 20
9.25 Conditional encodings. 20
9.26 Other conditions for applying encodings . 21
9.27 Encoding control for the open type. 21
9.28 Changes to ASN.1 Recommendations | International Standards . 22
© ISO/IEC 2008 – All rights reserved iii
10 Identifying encoding classes, encoding objects, and encoding object sets . 22
11 Encoding ASN.1 types . 25
11.1 General. 25
11.2 Built-in encoding classes used for implicitly generated encoding structures. 25
11.3 Simplification and expansion of ASN.1 notation for encoding purposes . 26
11.4 The implicitly generated encoding structure. 28
12 The Encoding Link Module (ELM) . 28
12.1 Structure of the ELM . 28
12.2 Encoding types. 29
13 Application of encodings . 30
13.1 General. 30
13.2 The combined encoding object set and its application. 30
14 The Encoding Definition Module (EDM) . 32
15 The renames clause . 34
15.1 Explicitly generated and exported structures . 34
15.2 Name changes . 35
15.3 Specifying the region for name changes .36
16 Encoding class assignments . 37
16.1 General. 37
16.2 Encoding structure definition. 39
16.3 Alternative encoding structure . 42
16.4 Repetition encoding structure . 42
16.5 Concatenation encoding structure. 42
17 Encoding object assignments . 43
17.1 General. 43
17.2 Encoding with a defined syntax . 44
17.3 Encoding with encoding object sets. 45
17.4 Encoding using value mappings. 45
17.5 Encoding an encoding structure. 46
17.6 Differential encoding-decoding . 48
17.7 Encoding options . 48
17.8 Non-ECN definition of encoding objects. 49
18 Encoding object set assignments. 50
18.1 General. 50
18.2 Built-in encoding object sets. 50
19 Mapping values . 51
19.1 General. 51
19.2 Mapping by explicit values . 52
19.3 Mapping by matching fields. 53
19.4 Mapping by #TRANSFORM encoding objects. 54
19.5 Mapping by abstract value ordering. 55
19.6 Mapping by value distribution . 56
19.7 Mapping integer values to bits . 57
20 Defining encoding objects using defined syntax. 59
21 Types used in defined syntax specification. 59
21.1 The Unit type . 59
21.2 The EncodingSpaceSize type. 60
21.3 The EncodingSpaceDetermination type. 60
21.4 The UnusedBitsDetermination type. 61
21.5 The OptionalityDetermination type . 61
21.6 The AlternativeDetermination type . 62
21.7 The RepetitionSpaceDetermination type . 63
iv © ISO/IEC 2008 – All rights reserved
21.8 The Justification type . 64
21.9 The Padding type . 64
21.10 The Pattern and Non-Null-Pattern types. 65
21.11 The RangeCondition type. 65
21.12 The Comparison type. 66
21.13 The SizeRangeCondition type . 66
21.14 The ReversalSpecification type . 67
21.15 The ResultSize type . 67
21.16 The HandleValueSet type. 68
21.17 The IntegerMapping type . 68
22 Commonly used encoding property groups. 69
22.1 Replacement specification. 69
22.1.1 Encoding properties, syntax and purpose. 69
22.1.2 Specification restrictions. 70
22.1.3 Encoder actions. 71
22.1.4 Decoder actions. 71
22.2 Pre-alignment and padding specification . 72
22.2.1 Encoding properties, syntax and purpose. 72
22.2.2 Specification constraints . 72
22.2.3 Encoder actions. 72
22.2.4 Decoder actions. 72
22.3 Start pointer specification . 73
22.3.1 Encoding properties, syntax and purpose. 73
22.3.2 Specification constraints . 73
22.3.3 Encoder actions. 73
22.3.4 Decoder actions. 73
22.4 Encoding space specification . 74
22.4.1 Encoding properties, syntax and purpose. 74
22.4.2 Specification restrictions. 74
22.4.3 Encoder actions. 75
22.4.4 Decoder actions. 75
22.5 Optionality determination . 76
22.5.1 Encoding properties, syntax and purpose. 76
22.5.2 Specification restrictions. 76
22.5.3 Encoder actions. 77
22.5.4 Decoder actions. 77
22.6 Alternative determination. 78
22.6.1 Encoding properties, syntax and purpose. 78
22.6.2 Specification restrictions. 78
22.6.3 Encoder actions. 79
22.6.4 Decoder actions. 79
22.7 Repetition space specification. 79
22.7.1 Encoding properties, syntax and purpose. 79
22.7.2 Specification constraints . 80
22.7.3 Encoder actions. 81
22.7.4 Decoder actions. 82
22.8 Value padding and justification . 82
22.8.1 Encoding properties, syntax, and purpose. 82
22.8.2 Specification restrictions. 83
22.8.3 Encoder actions. 83
22.8.4 Decoder actions. 84
22.9 Identification handle specification . 84
22.9.1 Encoding properties, syntax and purpose. 84
22.9.2 Specification constraints . 85
22.9.3 Encoders actions . 85
22.9.4 Decoders actions . 85
22.10 Concatenation specification . 85
22.10.1 Encoding properties, syntax and purpose. 85
22.10.2 Specification constraints . 86
© ISO/IEC 2008 – All rights reserved v
I SO/IEC 8825-3:2008(E)
22.10.3 Encoder actions. 86
22.10.4 Decoder actions. 86
22.11 Contained type encoding specification .87
22.11.1 Encoding properties, syntax and purpose. 87
22.11.2 Encoder actions. 87
22.11.3 Decoder actions. 87
22.12 Bit reversal specification. 87
22.12.1 Encoding properties, syntax, and purpose. 87
22.12.2 Specification constraints . 88
22.12.3 Encoder actions. 88
22.12.4 Decoder actions. 88
23 Defined syntax specification for bit-field and constructor classes .88
23.1 Defining encoding objects for classes in the alternatives category. 88
23.1.1 The defined syntax. 88
23.1.2 Purpose and restrictions . 89
23.1.3 Encoder actions. 89
23.1.4 Decoder actions. 90
23.2 Defining encoding objects for classes in the bitstring category. 90
23.2.1 The defined syntax. 90
23.2.2 Model for the encoding of classes in the bitstring category. 90
23.2.3 Purpose and restrictions . 91
23.2.4 Encoder actions. 91
23.2.5 Decoder actions. 92
23.3 Defining encoding objects for classes in the boolean category . 92
23.3.1 The defined syntax. 92
23.3.2 Purpose and restrictions . 93
23.3.3 Encoder actions. 94
23.3.4 Decoder actions. 94
23.4 Defining encoding objects for classes in the characterstring category . 95
23.4.1 The defined syntax. 95
23.4.2 Model for the encoding of classes in the characterstring category . 95
23.4.3 Purpose and restrictions . 96
23.4.4 Encoder actions. 96
23.4.5 Decoder actions. 96
23.5 Defining encoding objects for classes in the concatenation category. 97
23.5.1 The defined syntax. 97
23.5.2 Purpose and restrictions . 98
23.5.3 Encoder actions. 99
23.5.4 Decoder actions. 99
23.6 Defining encoding objects for classes in the integer category . 99
23.6.1 The defined syntax. 99
23.6.2 Purpose and restrictions . 99
23.6.3 Encoder actions. 100
23.6.4 Decoder actions. 100
23.7 Defining encoding objects for the #CONDITIONAL-INT class. 100
23.7.1 The defined syntax. 100
23.7.2 Purpose and restrictions . 101
23.7.3 Encoder actions. 102
23.7.4 Decoder actions. 103
23.8 Defining encoding objects for classes in the null category. 103
23.8.1 The defined syntax. 103
23.8.2 Purpose and restrictions . 105
23.8.3 Encoder actions. 105
23.8.4 Decoder actions. 105
23.9 Defining encoding objects for classes in the octetstring category . 106
23.9.1 The defined syntax. 106
23.9.2 Model for the encoding of classes in the octetstring category . 106
23.9.3 Purpose and restrictions . 107
23.9.4 Encoder actions. 107
23.9.5 Decoder actions. 107
vi © ISO/IEC 2008 – All rights reserved
23.10 Defining encoding objects for classes in the open type category. 108
23.10.1 The defined syntax. 108
23.10.2 Model for the encoding of classes in the open type category . 109
23.10.3 Purpose and restrictions . 109
23.10.4 Encoder actions. 110
23.10.5 Decoder actions. 110
23.11 Defining encoding objects for classes in the optionality category. 110
23.11.1 The defined syntax. 110
23.11.2 Purpose and restrictions . 111
23.11.3 Encoder actions. 111
23.11.4 Decoder actions. 111
23.12 Defining encoding objects for classes in the pad category . 112
23.12.1 The defined syntax. 112
23.12.2 Purpose and restrictions . 113
23.12.3 Encoder actions. 113
23.12.4 Decoder actions. 113
23.13 Defining encoding objects for classes in the repetition category. 113
23.13.1 The defined syntax. 113
23.13.2 Purpose and restrictions . 114
23.13.3 Encoder actions. 114
23.13.4 Decoder actions. 114
23.14 Defining encoding objects for the #CONDITIONAL-REPETITION class. 114
23.14.1 The defined syntax. 114
23.14.2 Purpose and restrictions . 116
23.14.3 Encoder actions. 116
23.14.4 Decoder actions. 117
23.15 Defining encoding objects for classes in the tag category . 117
23.15.1 The defined syntax. 117
23.15.2 Purpose and restrictions . 118
23.15.3 Encoder actions. 118
23.15.4 Decoder actions. 119
23.16 Defining encoding objects for classes in the other categories . 119
24 Defined syntax specification for the #TRANSFORM encoding class . 119
24.1 Summary of encoding properties and defined syntax . 119
24.2 Source and target of transforms . 122
24.3 The int-to-int transform. 122
24.4 The bool-to-bool transform. 124
24.5 The bool-to-int transform. 124
24.6 The int-to-bool transform. 124
24.7 The int-to-chars transform. 125
24.8 The int-to-bits transform . 126
24.9 The bits-to-int transform . 127
24.10 The char-to-bits transform. 127
24.11 The bits-to-char transform. 129
24.12 The bit-to-bits transform . 130
24.13 The bits-to-bits transform. 130
24.14 The chars-to-composite-char transform . 131
24.15 The bits-to-composite-bits transform. 131
24.16 The octets-to-composite-bits transform . 131
24.17 The composite-char-to-chars transform . 132
24.18 The composite-bits-to-bits transform. 132
24.19 The composite-bits-to-octets transform . 132
25 Complete encodings and the #OUTER class. 132
25.1 Encoding properties, syntax and purpose for the #OUTER class . 132
25.2 Encoder actions for #OUTER . 133
25.3 Decoder actions for #OUTER . 134
Annex A Addendum to ITU-T Rec. X.680 | ISO/IEC 8824-1 . 135
© ISO/IEC 2008 – All rights reserved vii
A.1 Exports and imports clauses. 135
A.2 Addition of REFERENCE. 136
A.3 Notation for character string values . 136
Annex B Addendum to ITU-T Rec. X.681 | ISO/IEC 8824-2 . 137
B.1 Definitions. 137
B.2 Additional lexical items . 137
B.2.1 Ordered value list field references . 137
B.2.2 Ordered encoding object list field references. 137
B.2.3 Encoding class field references. 137
B.3 Addition of "ENCODING-CLASS" . 137
B.4 FieldSpec additions. 138
B.5 Fixed-type ordered value list field spec . 138
B.6 Fixed-class encoding object field spec. 138
B.7 Variable-class encoding object field spec . 138
B.8 Fixed-class encoding object set field spec . 139
B.9 Fixed-class ordered encoding object list field spec. 139
B.10 Encoding class field spec . 139
B.11 Ordered value list notation. 140
B.12 Ordered encoding object list notation . 140
B.13 Primitive field names . 140
B.14 Additional reserved words . 140
B.15 Definition of encoding objects. 140
B.16 Additions to "Setting" . 141
B.17 Encoding class field type . 141
Annex C Addendum to ITU-T Rec. X.683 | ISO/IEC 8824-4 . 142
Annex C Addendum to ITU-T Rec. X.683 | ISO/IEC 8824-4 . 142
C.1 Parameterized assignments . 142
C.2 Parameterized encoding assignments. 142
C.3 Referencing parameterized definitions.
...








Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.
Loading comments...