Information technology — ASN.1 encoding rules: Specification of Packed Encoding Rules (PER) — Part 2: — Amendment 2: Time type support

Technologies de l'information — Règles de codage ASN.1: Spécification des règles de codage compact (PER) — Partie 2: — Amendement 2: Prise en compte des types de temps

General Information

Status
Withdrawn
Publication Date
03-Apr-2007
Withdrawal Date
03-Apr-2007
Current Stage
9599 - Withdrawal of International Standard
Completion Date
15-Dec-2009
Ref Project

Relations

Buy Standard

Standard
ISO/IEC 8825-2:2002/Amd 2:2007 - Information technology — ASN.1 encoding rules: Specification of Packed Encoding Rules (PER) — Part 2: — Amendment 2: Time type support Released:4/4/2007
English language
18 pages
sale 15% off
Preview
sale 15% off
Preview
Standard
ISO/IEC 8825-2:2002/Amd 2:2007 - Prise en compte des types de temps
French language
18 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)

INTERNATIONAL ISO/IEC
STANDARD 8825-2
First edition
2002-12-15
AMENDMENT 2
2007-04-01
Information technology — ASN.1
encoding rules: Specification of Packed
Encoding Rules (PER) —
AMENDMENT 2: Time type support
Technologies de l'information — Règles de codage ASN.1:
Spécification des règles de codage compact (PER) —
AMENDEMENT 2: Support de type temps
Reference number
ISO/IEC 8825-2:2002/Amd.2:2007(E)
ISO/IEC 2007
---------------------- Page: 1 ----------------------
ISO/IEC 8825-2:2002/Amd.2:2007(E)
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 2007

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 in Switzerland
ii © ISO/IEC 2007 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC 8825-2:2002/Amd.2:2007(E)
Foreword

ISO (the International Organization for Standardization) and IEC (the International Electrotechnical

Commission) form the specialized system for worldwide standardization. National bodies that are members of

ISO or IEC participate in the development of International Standards through technical committees

established by the respective organization to deal with particular fields of technical activity. ISO and IEC

technical committees collaborate in fields of mutual interest. Other international organizations, governmental

and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information

technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.

International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.

The main task of the joint technical committee is to prepare International Standards. Draft International

Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as

an International Standard requires approval by at least 75 % of the national bodies casting a vote.

Attention is drawn to the possibility that some of the elements of this document may be the subject of patent

rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.

Amendment 2 to ISO/IEC 8825-2:2002 was prepared by Joint Technical Committee ISO/IEC JTC 1,

Information technology, Subcommittee SC 6, Telecommunications and information exchange between

systems, in collaboration with ITU-T. The identical text is published as ITU-T Rec. X.691:2002/Amd.2.

© ISO/IEC 2007 – All rights reserved iii
---------------------- Page: 3 ----------------------
ISO/IEC 8825-2:2002/Amd.2:2007 (E)
INTERNATIONAL STANDARD
ITU-T RECOMMENDATION
Information technology – ASN.1 encoding rules:
Specification of Packed Encoding Rules (PER)
Amendment 2
Time type support
1) Contents
Update the Contents as follows:

28 bis Encoding the time type, the useful time types, the defined time types and the additional time types

28 bis.1 General
28 bis.2 Encoding subtypes with the "Basic=Date" property setting
28 bis.3 Encoding subtypes with the "Basic=Time" property setting
28 bis.4 Encoding subtypes with the "Basic=Date-Time" property setting

28 bis.5 Encoding subtypes with the "Basic=Interval Interval-type=SE" property setting

28 bis.6 Encoding subtypes with the "Basic=Interval Interval-type=D" property setting

28 bis.7 Encoding subtypes with the "Basic=Interval Interval-type=SD" or
"Basic=Interval Interval-type=DE" property setting

28 bis.8 Encoding subtypes with the "Basic=Rec-Interval Interval-type=SE" property setting

28 bis.9 Encoding subtypes with the "Basic=Rec-Interval Interval-type=D" property setting

28 bis.10 Encoding subtypes with the "Basic=Rec-Interval Interval-type=SD" or
"Basic=Rec-Interval Interval-type=DE" property setting
28 bis.11 Encoding subtypes with mixed settings of the Basic property
2) New clause 9.3.11 bis
Insert clause 9.3.11 bis after clause 9.3.11:

9.3.11 bis Property setting constraints on the time type (or on the useful and defined time types) which are not

extensible after the application of ITU-T Rec. X.680 | ISO/IEC 8824-1, 48.3 to 48.5, are PER-visible. Property setting

constraints which are extensible are not PER-visible.
ITU-T Rec. X.691 (2002)/Amd.2 (06/2006) 1
---------------------- Page: 4 ----------------------
ISO/IEC 8825-2:2002/Amd.2:2007 (E)
3) New clause 28 bis
Insert clause 28 bis before clause 29:

28 bis Encoding the time type, the useful time types, the defined time types and the additional time types

28 bis.1 General

28 bis.1.1 The encoding of the useful time types, the defined time types and the additional time types shall be

determined by the property settings of the abstract values of these types. Property settings for the abstract values of the

useful and defined time types are specified in ITU-T Rec. X.680 | ISO/IEC 8824-1, 34 bis.4 and Annex A bis,

respectively. Property settings for the abstract values of additional time types are determined by the property settings of

the parent type, restricted by any PER-visible constraints that apply (see 9.3.11 bis).

28 bis.1.2 If all the abstract values of the type to be encoded have one of the property settings listed in a row of

column 2 of Table 2, then that type shall be encoded as if the type with its constraints (if any) had been replaced by the

type specified in the corresponding row of column 3 of Table 2. Otherwise, it shall be encoded as specified in 28 bis.11.

NOTE – If a time property (for example Midnight) is not listed in Table 2 for a particular row, there is no constraint on its

setting.

28 bis.1.3 For rows 24 to 32 to be applicable, all abstract values of the type are required to have the same value of n

in Fn.

28 bis.1.4 The types specified in column 3 of Table 2 are defined (using the ASN.1 notation) in 28 bis.2 to

28 bis.10, and are assumed to be defined in an environment of AUTOMATIC TAGS.

NOTE 1 – The use of these type reference names in the specification of PER encodings does not make them available for use by

an application designer in an ASN.1 specification, nor are they reserved words in such a specification. However, with the

removal of -ENCODING, they correspond to the names of the useful time types or defined time types specified in

ITU-T Rec. X.680 | ISO/IEC 8824-1, 34 bis.4 and Annex A bis.

NOTE 2 – All the useful and defined time types satisfy the conditions for one of the rows of Table 2, and hence have optimized

encodings. Additional time types may satisfy the conditions for one of the rows, but are otherwise encoded as specified in

28 bis.11. The unconstrained TIME type is always encoded as specified in 28 bis.11.

Table 2 – Encoding of a time subtype with all abstract values having specified property settings

Row
Property settings ASN.1 type to be encoded
number
"Basic=Date Date=C Year=Basic" CENTURY-ENCODING
or (see 28 bis.2.1)
"Basic=Date Date=C Year=Proleptic"
"Basic=Date Date=C Year=Negative" ANY-CENTURY-ENCODING
or (see 28 bis.2.2)
"Basic=Date Date=C Year=Ln" (for any n)
"Basic=Date Date=Y Year=Basic" YEAR-ENCODING
or (see 28 bis.2.3)
"Basic=Date Date=Y Year=Proleptic"
"Basic=Date Date=Y Year=Negative" ANY-YEAR-ENCODING
or (see 28 bis.2.4)
"Basic=Date Date=Y Year=Ln" (for any n)
"Basic=Date Date=YM Year=Basic" YEAR-MONTH-ENCODING
or (see 28 bis.2.5)
"Basic=Date Date=YM Year=Proleptic"
"Basic=Date Date=YM Year=Negative" ANY-YEAR-MONTH-ENCODING
or (see 28 bis.2.6)
"Basic=Date Date=YM Year=Ln" (for any n)
"Basic=Date Date=YMD Year=Basic" DATE-ENCODING
or (see 28 bis.2.7)
"Basic=Date Date=YMD Year=Proleptic"
"Basic=Date Date=YMD Year=Negative" ANY-DATE-ENCODING
or (see 28 bis.2.8)
"Basic=Date Date=YMD Year=Ln" (for any n)
2 ITU-T Rec. X.691 (2002)/Amd.2 (06/2006)
---------------------- Page: 5 ----------------------
ISO/IEC 8825-2:2002/Amd.2:2007 (E)

Table 2 – Encoding of a time subtype with all abstract values having specified property settings

Row
Property settings ASN.1 type to be encoded
number
"Basic=Date Date=YD Year=Basic" YEAR-DAY-ENCODING
or (see 28 bis.2.9)
"Basic=Date Date=YD Year=Proleptic"
"Basic=Date Date=YD Year=Negative" ANY-YEAR-DAY-ENCODING
or (see 28 bis.2.10)
"Basic=Date Date=YD Year=Ln" (for any n)
"Basic=Date Date=YW Year=Basic" YEAR-WEEK-ENCODING
or (see 28 bis.2.11)
"Basic=Date Date=YW Year=Proleptic"
"Basic=Date Date=YW Year=Negative" ANY-YEAR-WEEK-ENCODING
or (see 28 bis.2.12)
"Basic=Date Date=YW Year=Ln" (for any n)
"Basic=Date Date=YWD Year=Basic" YEAR-WEEK-DAY-ENCODING
or (see 28 bis.2.13)
"Basic=Date Date=YWD Year=Proleptic"
"Basic=Date Date=YWD Year=Negative" ANY-YEAR-WEEK-DAY-ENCODING
or (see 28 bis.2.14)
"Basic=Date Date=YWD Year=Ln" (for any n)
"Basic=Time Time=H Local-or-UTC=L" HOURS-ENCODING
(see 28 bis.3.1)
"Basic=Time Time=H Local-or-UTC=Z" HOURS-UTC-ENCODING
(see 28 bis.3.2)
"Basic=Time Time=H Local-or-UTC=LD" HOURS-AND-DIFF-ENCODING
(see 28 bis.3.3)
"Basic=Time Time=HM Local-or-UTC=L" MINUTES-ENCODING
(see 28 bis.3.4)
"Basic=Time Time=HM Local-or-UTC=Z" MINUTES-UTC-ENCODING
(see 28 bis.3.5)
"Basic=Time Time=HM Local-or-UTC=LD" MINUTES-AND-DIFF-ENCODING
(see 28 bis.3.6)
"Basic=Time Time=HMS Local-or-UTC=L" TIME-OF-DAY-ENCODING
(see 28 bis.3.7)
"Basic=Time Time=HMS Local-or-UTC=Z" TIME-OF-DAY-UTC-ENCODING
(see 28 bis.3.8)
"Basic=Time Time=HMS Local-or-UTC=LD" TIME-OF-DAY-AND-DIFF-ENCODING
(see 28 bis.3.9)
"Basic=Time Time=HFn Local-or-UTC=L"
HOURS-AND-FRACTION-ENCODING
24 (but see 28 bis.1.3)
(see 28 bis.3.10)
"Basic=Time Time=HFn Local-or-UTC=Z" HOURS-UTC-AND-FRACTION-ENCODING
25 (but see 28 bis.1.3) (see 28 bis.3.11)
"Basic=Time Time=HFn Local-or-UTC=LD" HOURS-AND-DIFF-AND-FRACTION-ENCODING
(but see 28 bis.1.3) (see 28 bis.3.12)
"Basic=Time Time=HMFn Local-or-UTC=L" MINUTES-AND-FRACTION-ENCODING
(but see 28 bis.1.3) (see 28 bis.3.13)
"Basic=Time Time=HMFn Local-or-UTC=Z" MINUTES-UTC-AND-FRACTION-ENCODING
(but see 28 bis.1.3) (see 28 bis.3.14)
"Basic=Time Time=HMFn Local-or-UTC=LD" MINUTES-AND-DIFF-AND-FRACTION-ENCODING
(but see 28 bis.1.3) (see 28 bis.3.15)
"Basic=Time Time=HMSFn Local-or-UTC=L" TIME-OF-DAY-AND-FRACTION-ENCODING
(but see 28 bis.1.3) (see 28 bis.3.16)
ITU-T Rec. X.691 (2002)/Amd.2 (06/2006) 3
---------------------- Page: 6 ----------------------
ISO/IEC 8825-2:2002/Amd.2:2007 (E)

Table 2 – Encoding of a time subtype with all abstract values having specified property settings

Row
Property settings ASN.1 type to be encoded
number
"Basic=Time Time=HMSFn Local-or-UTC=Z" TIME-OF-DAY-UTC-AND-FRACTION-ENCODING
(but see 28 bis.1.3) (see 28 bis.3.17)
"Basic=Time Time=HMSFn Local-or-UTC=LD"
TIME-OF-DAY-AND-DIFF-AND-FRACTION-
32 (but see 28 bis.1.3) ENCODING
(see 28 bis.3.18)
"Basic=Date-Time" DATE-TIME-ENCODING
33 All abstract values are required to have the same {Date-Type, Time-Type}
additional property settings specified in one of rows 1 to
(instantiated as specified in 28 bis.4.1)
14 for "Basic=Date" together with the same
additional property settings specified in one of the rows
15 to 32 for "Basic=Time".
"Basic=Interval Interval-type=SE START-END-DATE-INTERVAL-ENCODING
34 {Date-Type}
SE-point=Date"
All abstract values are required to have the same (see 28 bis.5.1)
additional property settings specified in one of rows 1 to
14 for "Basic=Date".
"Basic=Interval Interval-type=SE START-END-TIME-INTERVAL-ENCODING
35 SE-point=Time" {Time-Type}
All abstract values are required to have the same (see 28 bis.5.2)
additional property settings specified in one of rows 15 to
32 for "Basic=Time".
"Basic=Interval Interval-type=SE START-END-DATE-TIME-INTERVAL-ENCODING
SE-point=Date-Time" {Date-Type, Time-Type}
(see 28 bis.5.3)
All abstract values are required to have the same
additional property settings specified in one of rows 1 to
14 for "Basic=Date" together with the same
additional property settings specified in one of rows 15 to
32 for "Basic=Time".
"Basic=Interval Interval-type=D" DURATION-INTERVAL-ENCODING
(see 28 bis.6.1)
START-DATE-DURATION-INTERVAL-ENCODING
"Basic=Interval Interval-type=SD
{Date-Type}
SE-point=Date"
(see 28 bis.7.1)
All abstract values are required to have the same
additional property settings specified in one of rows 1 to
14 for "Basic=Date".
"Basic=Interval Interval-type=SD START-TIME-DURATION-INTERVAL-ENCODING
39 {Time-Type}
SE-point=Time"
(see 28 bis.7.2)
All abstract values are required to have the same
additional property settings specified in one of rows 15 to
32 for "Basic=Time".
"Basic=Interval Interval-type=SD START-DATE-TIME-DURATION-
40 INTERVAL-ENCODING
SE-point=Date-Time"
{Date-Type, Time-Type}
All abstract values are required to have the same
(see 28 bis.7.3)
additional property settings specified in one of rows 1 to
14 for "Basic=Date" together with the same
additional property settings specified in one of rows 15 to
32 for "Basic=Time".
"Basic=Interval Interval-type=DE DURATION-END-DATE-INTERVAL-ENCODING
41 {Date-Type}
SE-point=Date"
All abstract values are required to have the same (see 28 bis.7.4)
additional properties specified in one of rows 1 to 14 for
"Basic=Date".
4 ITU-T Rec. X.691 (2002)/Amd.2 (06/2006)
---------------------- Page: 7 ----------------------
ISO/IEC 8825-2:2002/Amd.2:2007 (E)

Table 2 – Encoding of a time subtype with all abstract values having specified property settings

Row
Property settings ASN.1 type to be encoded
number
"Basic=Interval Interval-type=DE
DURATION-END-TIME-INTERVAL-ENCODING
SE-point=Time"
42 {Time-Type}
All abstract values are required to have the same
(see 28 bis.7.5)
additional properties specified in one of rows 15 to 32 for
"Basic=Time".
"Basic=Interval Interval-type=DE DURATION-END-DATE-TIME-INTERVAL-
43 ENCODING
SE-point=Date-Time"
{Date-Type, Time-Type}
All abstract values are required to have the same
(see 28 bis.7.6)
additional properties specified in one of rows 1 to 14 for
"Basic=Date" together with the same additional
property settings specified in one of rows 15 to 32 for
"Basic=Time".
"Basic=Rec-Interval Interval-type=SE REC-START-END-DATE-INTERVAL-ENCODING
44 SE-point=Date" {Date-Type}
(see 28 bis.8.1)
All abstract values are required to have the same
additional property settings specified in one of rows 1 to
14 for "Basic=Date".
"Basic=Rec-Interval Interval-type=SE REC-START-END-TIME-INTERVAL-ENCODING
45 SE-point=Time" {Time-Type}
All abstract values are required to have the same (see 28 bis.8.2)
additional property settings specified in one of rows 15 to
32 for "Basic=Time".
"Basic=Rec-Interval Interval-type=SE REC-START-END-DATE-TIME-INTERVAL-
46 SE-point=Date-Time" ENCODING
{Date-Type, Time-Type}
All abstract values are required to have the same
additional property settings specified in one of rows 1 to (see 28 bis.8.3)
14 for "Basic=Date" together with the same
additional property settings specified in one of rows 15 to
32 for "Basic=Time".
"Basic=Rec-Interval Interval-type=D" REC-DURATION-INTERVAL-ENCODING
(see 28 bis.9.1)
"Basic=Rec-Interval Interval-type=SD REC-START-DATE-DURATION-INTERVAL-
48 SE-point=Date" ENCODING
{Date-Type}
All abstract values are required to have the same
(see 28 bis.10.1)
additional property settings specified in one of rows 1 to
14 for "Basic=Date".
"Basic=Rec-Interval Interval-type=SD REC-START-TIME-DURATION-INTERVAL-
49 SE-point=Time" ENCODING
{Time-Type}
All abstract values are required to have the same
(see 28 bis.10.2)
additional property settings specified in one of rows 15 to
32 for "Basic=Time".
"Basic=Rec-Interval Interval-type=SD REC-START-DATE-TIME-DURATION-INTERVAL-
50 SE-point=Date-Time" ENCODING
{Date-Type, Time-Type}
All abstract values are required to have the same
(see 28 bis.10.3)
additional property settings specified in one of rows 1 to
14 for "Basic=Date" together with the same
additional property settings specified in one of rows 15 to
32 for "Basic=Time".
"Basic=Rec-Interval Interval-type=DE REC-DURATION-END-DATE-INTERVAL-ENCODING
51 SE-point=Date" {Date-Type}
All abstract values are required to have the same (see 28 bis.10.4)
additional properties specified in one of rows 1 to 14 for
"Basic=Date".
ITU-T Rec. X.691 (2002)/Amd.2 (06/2006) 5
---------------------- Page: 8 ----------------------
ISO/IEC 8825-2:2002/Amd.2:2007 (E)

Table 2 – Encoding of a time subtype with all abstract values having specified property settings

Row
Property settings ASN.1 type to be encoded
number
"Basic=Rec-Interval Interval-type=DE REC-DURATION-END-TIME-INTERVAL-ENCODING
52 SE-point=Time" {Time-Type}
(see 28 bis.10.5)
All abstract values are required to have the same
additional properties specified in one of rows 15 to 32 for
"Basic=Time".
"Basic=Rec-Interval Interval-type=DE REC-DURATION-END-DATE-TIME-INTERVAL-
53 SE-point=Date-Time" ENCODING
{Date-Type, Time-Type}
All abstract values are required to have the same
(see 28 bis.10.6)
additional properties specified in one of rows 1 to 14 for
"Basic=Date" together with the same additional
property settings specified in one of rows 15 to 32 for
"Basic=Time".
28 bis.2 Encoding subtypes with the "Basic=Date" property setting

This subclause defines the ASN.1 types referenced in Table 2, column 3 for types where all the abstract values of the

type have the "Basic=Date" property setting.
28 bis.2.1 The CENTURY-ENCODING type is:
CENTURY-ENCODING ::= INTEGER(0..99) -- 7 bits

with the integer value set to the value specified by the first two digits of the year component of the abstract value.

28 bis.2.2 The ANY-CENTURY-ENCODING type is:
ANY-CENTURY-ENCODING ::= INTEGER(MIN..MAX)

with the integer value set to the value specified by the year component of the abstract value, ignoring the last two digits.

28 bis.2.3 The YEAR-ENCODING type is:
YEAR-ENCODING ::= CHOICE { -- 2 bits for choice determinant
immediate INTEGER (2005..2020), -- 4 bits
near-future INTEGER (2021..2276), -- 8 bits
near-past INTEGER (1749..2004), -- 8 bits
remainder INTEGER (MIN..1748 | 2277..MAX)}
with the integer value set to the year component of the abstract value.

NOTE – This has been optimized to provide a 6-bit or a 10-bit encoding in common cases.

28 bis.2.4 The ANY-YEAR-ENCODING type is:
ANY-YEAR-ENCODING ::= INTEGER(MIN..MAX)
with the integer value set to the year component of the abstract value.
28 bis.2.5 The YEAR-MONTH-ENCODING type is:
YEAR-MONTH-ENCODING ::= SEQUENCE {
year YEAR-ENCODING,
month INTEGER (1..12) -- 4 bits -- }

with the YEAR-ENCODING set according to 28 bis.2.3 and the month integer value set to the month component of the

abstract value.

NOTE – This has been optimized to provide a 10-bit or a 14-bit encoding in common cases.

28 bis.2.6 The ANY-YEAR-MONTH-ENCODING type is:
ANY-YEAR-MONTH-ENCODING ::= SEQUENCE {
year ANY-YEAR-ENCODING,
month INTEGER (1..12) }

with the ANY-YEAR-ENCODING set according to 28 bis.2.4 and the month integer value set to the month component of

the abstract value.
6 ITU-T Rec. X.691 (2002)/Amd.2 (06/2006)
---------------------- Page: 9 ----------------------
ISO/IEC 8825-2:2002/Amd.2:2007 (E)
28 bis.2.7 The DATE-ENCODING type is:
DATE-ENCODING ::= SEQUENCE {
year YEAR-ENCODING,
month INTEGER (1..12), -- 4 bits
day INTEGER (1..31) -- 5 bits -- }

with the YEAR-ENCODING set according to 28 bis.2.3, the month integer value set to the month component of the

abstract value and the day integer value set to the day component of the abstract value.

NOTE – This has been optimized to provide a 15-bit or a 19-bit encoding in common cases.

28 bis.2.8 The ANY-DATE-ENCODING type is:
ANY-DATE-ENCODING ::= SEQUENCE {
year ANY-YEAR-ENCODING,
month INTEGER (1..12),
day INTEGER (1..31)}

with the ANY-YEAR-ENCODING set according to 28 bis.2.4, the month integer value set to the month component of the

abstract value and the day integer value set to the day component of the abstract value.

28 bis.2.9 The YEAR-DAY-ENCODING type is:
YEAR-DAY-ENCODING ::= SEQUENCE {
year YEAR-ENCODING,
day INTEGER (1..366)}

with the YEAR-ENCODING set according to 28 bis.2.3 and the day integer value set to the day component of the abstract

value.
28 bis.2.10 The ANY-YEAR-DAY-ENCODING type is:
ANY-YEAR-DAY-ENCODING ::= SEQUENCE {
year ANY-YEAR-ENCODING,
day INTEGER (1..366)}

with the ANY-YEAR-ENCODING set according to 28 bis.2.4 and the day integer value set to the day component of the

abstract value.
28 bis.2.11 The YEAR-WEEK-ENCODING type is:
YEAR-WEEK-ENCODING ::= SEQUENCE {
year YEAR-ENCODING,
week INTEGER (1..53) -- 6 bits --}

with the YEAR-ENCODING set according to 28 bis.2.3 and the week integer value set to the week component of the

abstract value.

NOTE – This has been optimized to provide a 12-bit or a 16-bit encoding in common cases.

28 bis.2.12 The ANY-YEAR-WEEK-ENCODING type is:
ANY-YEAR-WEEK-ENCODING ::= SEQUENCE {
year ANY-YEAR-ENCODING,
week INTEGER (1..53)}

with the ANY-YEAR-ENCODING set according to 28 bis.2.4 and the week integer value set to the week component of the

abstract value.
28 bis.2.13 The YEAR-WEEK-DAY-ENCODING type is:
YEAR-WEEK-DAY-ENCODING ::= SEQUENCE {
year YEAR-ENCODING,
week INTEGER (1..53), -- 6 bits
day INTEGER (1..7) -- 3 bits -- }

with the YEAR-ENCODING set according to 28 bis.2.3, the week integer value set to the week component of the abstract

value and the day integer value set to the day component of the abstract value.

NOTE – This has been optimized to provide a 15-bit or a 19-bit encoding in common cases.

ITU-T Rec. X.691 (2002)/Amd.2 (06/2006) 7
---------------------- Page: 10 ----------------------
ISO/IEC 8825-2:2002/Amd.2:2007 (E)
28 bis.2.14 The ANY-YEAR-WEEK-DAY-ENCODING type is:
ANY-YEAR-WEEK-DAY-ENCODING ::= SEQUENCE {
year ANY-YEAR-ENCODING,
week INTEGER (1..53),
day INTEGER (1..7)}

with the ANY-YEAR-ENCODING set according to 28 bis.2.4, the week integer value set to the week component of the

abstract value and the day integer value set to the day component of the abstract value.

28 bis.3 Encoding subtypes with the "Basic=Time" property setting

This subclause defines the ASN.1 types referenced in Table 2, column 3 for types where all the abstract values of the

type have the Basic=Time property setting.
28 bis.3.1 The HOURS-ENCODING type is:
HOURS-ENCODING ::= INTEGER(0..24) -- 5 bits
with the integer value set to the hours component of the abstract value.
NOTE – This has been optimized to provide a 5-bit encoding.
28 bis.3.2 The HOURS-UTC-ENCODING type is:
HOURS-UTC-ENCODING ::= INTEGER(0..24) -- 5 bits
with the integer value set to the hours component of the abstract value.
NOTE – This has been optimized to provide a 5-bit encoding.
28 bis.3.3 The HOURS-AND-DIFF-ENCODING type is:
HOURS-AND-DIFF-ENCODING ::= SEQUENCE {
local-hours INTEGER (0..24),
time-difference TIME-DIFFERENCE }
where:
TIME-DIFFERENCE ::= SEQUENCE {
hours INTEGER (-15..16),
minutes INTEGER (1..59) OPTIONAL }

with the local-hours integer value set to the hours component of the local time of the abstract value and the

time-difference set to the hours and the minutes of the time-difference component of the abstract value. If the

minutes component of the time-difference is zero, the TIME-DIFFERENCE minutes shall be omitted.

28 bis.3.4 The MINUTES-ENCODING type is:
MINUTES-ENCODING ::= SEQUENCE {
hours INTEGER (0..24), -- 5 bits
minutes INTEGER (0..59) -- 5 bits -- }

with the hours integer value set to the hours component of the abstract value and the minutes integer value set to the

minutes component.
NOTE – This has been optimized to provide a 10-bit encoding.
28 bis.3.5 The MINUTES-UTC-ENCODING type is:
MINUTES-UTC-ENCODING ::= SEQUENCE {
hours INTEGER (0..24), -- 5 bits
minutes INTEGER (0..59) -- 5 bits -- }

with the hours integer value set to the hours component of the abstract value and the minutes integer value set to the

minutes component.
NOTE – This has been optimized to provide a 10-bit encoding.
8 ITU-T Rec. X.691 (2002)/Amd.2 (06/2006)
---------------------- Page: 11 ----------------------
ISO/IEC 8825-2:2002/Amd.2:2007 (E)
28 bis.3.6 The MINUTES-AND-DIFF-ENCODING type is:
MINUTES-AND-DIFF-ENCODING ::= SEQUENCE {
local-time SEQUENCE {
hours INTEGER (0..24),
minutes INTEGER (0..59) },
time-difference TIME-DIFFERENCE }

with the local-time set to the hours and minutes component of the local time of the abstract value and the time-

difference set to the hours and minutes of the time-difference component of the abstract value as specified in

28 bis.3.3.
28 bis.3.7 The TIME-OF-DAY-ENCODING type is:
TIME-OF-DAY-ENCODING ::= SEQUENCE {
hours INTEGER (0..24), -- 5 bits
minutes INTEGER (0..59), -- 5 bits
seconds INTEGER (0..60) -- 5 bits -- }

with the hours integer value set to the hours component of the abstract value, the minutes integer value set to the

minutes component, and the seconds integer value set to the seconds component.
NOTE – This has been optimized to provide a 15-bit encoding.
28 bis.3.8 The TIME-OF-DAY-UTC-ENCODING type is:
TIME-OF-DAY-UTC-ENCODING ::= SEQUENCE {
hours INTEGER (0..24), -- 5 bits
minutes INTEGER (0..59), -- 5 bits
seconds INTEGER (0..60) -- 5 bits -- }

with the hours integer value set to the hours component of the abstract value, the minutes integer value set to the

minutes component, and the seconds integer value set to the seconds component.
NOTE – This has been optimized to provide a 15-bit encoding.
28 bis.3.9 The TIME-OF-DAY-AND-DIFF-ENCODING type is:
TIME-OF-DAY-AND-DIFF-ENCODING ::= SEQUENCE {
local-time SEQUENCE {
hours INTEGER (0..24),
minutes INTEGER (0..59),
seconds INTEGER (0..60) },
time-difference TIME-DIFFERENCE }

with the local-time set to the hours, minutes and seconds components of the local time of the abstract value and the

time-difference set to the hours and minutes of the time-difference component of the abstract value as specified in

28 bis.3.3.
28 bis.3.10 The HOURS-AND-FRACTION-ENCODING type is:
HOURS-AND-FRACTION-ENCODING ::= SEQUENCE {
hours INTEGER (0..24), -- 5 bits
fraction INTEGER (0..999, ..., 1000..MAX)
-- 11 bits for up to three digits accuracy -- }

with the hours integer value set to the hours component of the abstract value and the fraction integer value set to the

fractional hours multiplied by ten-to-the-power-N, where N is the specified number of digits in the fractional part.

NOTE – This has been optimized to provide a 16-bit encoding for up to 3-digit accuracy.

28 bis.3.11 The HOURS-UTC-AND-FRACTION-ENCODING type is:
HOURS-UTC-AND-FRACTION-ENCODING ::= SEQUENCE {
hours INTEGER (0..24), -- 5 bits
fraction INTEGER (0..999, ..., 1000..MAX)
-- 11 bits for up to three digits accuracy -- }

with the hours integer value set to the hours component of the abstract value and the fraction integer value set to the

fractional hours multiplied by ten-to-the-power-N, where N is the specified number of digits in the fractional part.

NOTE – This has been optimized to provide a 16-bit encoding for up to 3-digit accuracy.

ITU-T Rec. X.691 (2002)/Amd.2 (06/2006) 9
---------------------- Page: 12 ----------------------
ISO/IEC 8825-2:2002/Amd.2:2007 (E)
28 bis.3.12 The HOURS-AND-DIFF-AND-FRACTION-ENCODING type is:
HOURS-AND-DIFF-AND-FRACTION-ENCODING ::= SEQUENCE {
local-hours INTEGER (0..24), -- 5 bits
fraction INTEGER (0..999, ..., 1000..MAX)
-- 11 bits for up to three digits accuracy -- ,
time-difference TIME-DIFFERENCE }

with the local-hours integer value set to the hours component of the local time of the abstract value, the fraction

integer value set to the fractional hours multiplied by ten-to-the-power-N (where N is the specified number of digits in

the fractional part) and the time-difference set to the hours and the minutes of the time-difference component of the

abstract value as specified in 28 bis.3.3.
28 bis.3.13 The MINUTES-AND-FRACTION-ENCODING type is:
MINUTES-AND-FRACTION-ENCODING ::= SEQUENCE {
hours INTEGER (0..24), -- 5 bits
minutes INTEGER (0..59), -- 5 bits
fraction INTEGER (0..999, ..., 1000..MAX)
-- 11 bits for up to three digits accuracy -- }
with the hours integer value
...

NORME ISO/CEI
INTERNATIONALE 8825-2
Première édition
2002-12-15
AMENDEMENT 2
2007-04-01
Technologies de l'information — Règles
de codage ASN.1: Spécification des
règles de codage compact (PER) —
AMENDEMENT 2: Prise en compte des
types de temps
Information technology — ASN.1 encoding rules: Specification of
Packed Encoding Rules (PER) —
AMENDMENT 2: Time type support
Numéro de référence
ISO/CEI 8825-2:2002/Amd.2:2007(F)
ISO/CEI 2007
---------------------- Page: 1 ----------------------
ISO/CEI 8825-2:2002/Amd.2:2007(F)
PDF – Exonération de responsabilité

Le présent fichier PDF peut contenir des polices de caractères intégrées. Conformément aux conditions de licence d'Adobe, ce fichier

peut être imprimé ou visualisé, mais ne doit pas être modifié à moins que l'ordinateur employé à cet effet ne bénéficie d'une licence

autorisant l'utilisation de ces polices et que celles-ci y soient installées. Lors du téléchargement de ce fichier, les parties concernées

acceptent de fait la responsabilité de ne pas enfreindre les conditions de licence d'Adobe. Le Secrétariat central de l'ISO décline toute

responsabilité en la matière.
Adobe est une marque déposée d'Adobe Systems Incorporated.

Les détails relatifs aux produits logiciels utilisés pour la création du présent fichier PDF sont disponibles dans la rubrique General Info

du fichier; les paramètres de création PDF ont été optimisés pour l'impression. Toutes les mesures ont été prises pour garantir

l'exploitation de ce fichier par les comités membres de l'ISO. Dans le cas peu probable où surviendrait un problème d'utilisation,

veuillez en informer le Secrétariat central à l'adresse donnée ci-dessous.
DOCUMENT PROTÉGÉ PAR COPYRIGHT
© ISO/CEI 2007

Droits de reproduction réservés. Sauf prescription différente, aucune partie de cette publication ne peut être reproduite ni utilisée sous

quelque forme que ce soit et par aucun procédé, électronique ou mécanique, y compris la photocopie et les microfilms, sans l'accord écrit

de l'ISO à l'adresse ci-après ou du comité membre de l'ISO dans le pays du demandeur.

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
Publié en Suisse
ii © ISO/CEI 2007 – Tous droits réservés
---------------------- Page: 2 ----------------------
ISO/CEI 8825-2:2002/Amd.2:2007(F)
Avant-propos

L'ISO (Organisation internationale de normalisation) et la CEI (Commission électrotechnique internationale)

forment le système spécialisé de la normalisation mondiale. Les organismes nationaux membres de l'ISO ou

de la CEI participent au développement de Normes internationales par l'intermédiaire des comités techniques

créés par l'organisation concernée afin de s'occuper des domaines particuliers de l'activité technique. Les

comités techniques de l'ISO et de la CEI collaborent dans des domaines d'intérêt commun. D'autres

organisations internationales, gouvernementales et non gouvernementales, en liaison avec l'ISO et la CEI

participent également aux travaux. Dans le domaine des technologies de l'information, l'ISO et la CEI ont créé

un comité technique mixte, l'ISO/CEI JTC 1.

Les Normes internationales sont rédigées conformément aux règles données dans les Directives ISO/CEI,

Partie 2.

La tâche principale du comité technique mixte est d'élaborer les Normes internationales. Les projets de

Normes internationales adoptés par le comité technique mixte sont soumis aux organismes nationaux pour

vote. Leur publication comme Normes internationales requiert l'approbation de 75 % au moins des

organismes nationaux votants.

L'attention est appelée sur le fait que certains des éléments du présent document peuvent faire l'objet de

droits de propriété intellectuelle ou de droits analogues. L'ISO et la CEI ne sauraient être tenues pour

responsables de ne pas avoir identifié de tels droits de propriété et averti de leur existence.

L’Amendement 2 à l'ISO/CEI 8825-2:2002 a été élaboré par le comité technique mixte ISO/CEI JTC 1,

Technologies de l'information, sous-comité SC 6, Téléinformatique, en collaboration avec l'UIT-T. Le texte

identique est publié en tant que Rec. UIT-T X.691:2002/Amd.2.
© ISO/CEI 2007 – Tous droits réservés iii
---------------------- Page: 3 ----------------------
ISO/CEI 8825-2:2002/Amd.2:2007 (F)
NORME INTERNATIONALE
RECOMMANDATION UIT-T
Technologies de l'information – Règles de codage ASN.1:
spécification des règles de codage compact
Amendement 2
Prise en compte des types de temps
1) Table des matières
Mettre à jour la Table des matières comme suit:

28 bis Codage du type temps, des types utiles de temps, des types définis de temps et des types additionnels de

temps
28 bis.1 Général
28 bis.2 Codage des sous-types avec le réglage de propriété "Basic=Date"
28 bis.3 Codage des sous-types avec le réglage de propriété "Basic=Time"
28 bis.4 Codage des sous-types avec le réglage de propriété "Basic=Date-Time"

28 bis.5 Codage des sous-types avec les réglages de propriétés "Basic=Interval Interval-type=SE"

28 bis.6 Codage des sous-types avec les réglages de propriétés "Basic=Interval Interval-type=D"

28 bis.7 Codage des sous-types avec les réglages de propriétés "Basic=Interval Interval-type=SD" ou

"Basic=Interval Interval-type=DE"

28 bis.8 Codage des sous-types avec les réglages de propriétés "Basic=Rec-Interval Interval-type=SE"

28 bis.9 Codage des sous-types avec les réglages de propriétés "Basic=Rec-Interval Interval-type=D"

28 bis.10 Codage des sous-types avec les réglages de propriétés "Basic=Rec-Interval Interval-type=SD"

ou "Basic=Rec-Interval Interval-type=DE"
28 bis.11 Codage des sous-types avec des réglages mixtes de la propriété Basic
2) Nouveau paragraphe 9.3.11 bis
Insérer le paragraphe 9.3.11 bis après le paragraphe 9.3.11:

9.3.11 bis Les contraintes de réglage de propriété sur le type temps (ou sur les types utiles et définis de temps) qui

ne sont pas extensibles après l'application des règles de la Rec. UIT-T X.680 | ISO/CEI 8824-1, 48.3 à 48.5, sont

visibles par les règles PER. Les contraintes de réglage de propriété qui sont extensibles ne sont pas visibles par les

règles PER.
3) Nouveau paragraphe 28 bis
Insérer le paragraphe 28 bis avant le paragraphe 29:

28 bis Codage du type temps, des types utiles de temps, des types définis de temps et des types

additionnels de temps
28 bis.1 Général
Rec. UIT-T X.691 (2002)/Amd.2 (06/2006) 1
---------------------- Page: 4 ----------------------
ISO/CEI 8825-2:2002/Amd.2:2007 (F)

28 bis.1.1 Le codage des types utile de temps, des types définis de temps et des types additionnels de temps est

déterminé par les réglages de propriétés des valeurs abstraites de ces types. Des réglages de propriétés pour les valeurs

abstraites des types utiles de temps et pour les types définis de temps sont spécifiés dans la Rec. UIT-T X.680 |

ISO/CEI 8824-1, § 34 bis.4 et Annexe A bis respectivement. Les réglages de propriétés pour les valeurs abstraites des

types additionnels de temps sont déterminés par les réglages de propriétés du type parent, restreints par toute contrainte

visible par les PER qui s'applique (voir § 9.3.11 bis).

28 bis.1.2 Si toutes les valeurs abstraites du type à coder ont l'un des réglages de propriétés listés dans l'une des

lignes de la colonne 2 du Tableau 2, alors ce type est codé comme si le type avec ses contraintes (s'il y en a) avait été

remplacé par le type spécifié dans la même ligne de la colonne 3 du Tableau 2. Sinon, il est codé comme spécifié au

§ 28 bis.11.

NOTE – Si une propriété de temps (par exemple Midnight) n'est pas listée dans le Tableau 2 pour une ligne particulière, il n'y a

pas de contrainte sur son réglage.

28 bis.1.3 Pour que les lignes 24 à 32 soient applicables, toutes les valeurs abstraites du type doivent avoir la même

valeur de n dans Fn.

28 bis.1.4 Les types spécifiés en colonne 3 du Tableau 2 sont définis (en utilisant la notation ASN.1) dans les

§ 28 bis.2 à 28 bis.10, et sont supposés être définis dans un environnement d'AUTOMATIC TAGS.

NOTE 1 – L'utilisation de ces noms de référence de type dans la spécification de codages PER ne les rend pas disponibles pour

être utilisés par un concepteur d'application dans une spécification ASN.1; ils ne constituent pas non plus des mots réservés dans

une telle spécification. Cependant, lorsque le suffixe -ENCODING est retiré, ils correspondent aux noms des types utiles ou

définis de temps spécifiés dans la Rec. UIT-T X.680 | ISO/CEI 8824-1, § 34 bis.4 et Annexe A bis.

NOTE 2 – Tous les types utiles et définis de temps satisfont les conditions pour l'une des lignes du Tableau 2 et ont par

conséquent des codages optimisés. Des types additionnels de temps peuvent satisfaire les conditions pour l'une de ces lignes mais

sont sinon codés comme spécifié au § 28 bis.11. Le type TIME non constraint est toujours codé comme spécifié au § 28 bis.11.

Tableau 2 – Codage d'un sous-type de temps avec toutes les valeurs abstraites
qui ont les réglages de propriétés spécifiés
Numéro
de la Réglages de propriétés Type ASN.1 à coder
ligne
"Basic=Date Date=C Year=Basic" CENTURY-ENCODING
1 ou (voir § 28 bis.2.1)
"Basic=Date Date=C Year=Proleptic"
"Basic=Date Date=C Year=Negative" ANY-CENTURY-ENCODING
ou (voir § 28 bis.2.2)
"Basic=Date Date=C Year=Ln"
(pour tout n)
"Basic=Date Date=Y Year=Basic" YEAR-ENCODING
ou (voir § 28 bis.2.3)
"Basic=Date Date=Y Year=Proleptic"
"Basic=Date Date=Y Year=Negative" ANY-YEAR-ENCODING
ou (voir § 28 bis.2.4)
"Basic=Date Date=Y Year=Ln"
(pour tout n)
"Basic=Date Date=YM Year=Basic" YEAR-MONTH-ENCODING
5 ou (voir § 28 bis.2.5)
"Basic=Date Date=YM Year=Proleptic"
"Basic=Date Date=YM Year=Negative" ANY-YEAR-MONTH-ENCODING
ou (voir § 28 bis.2.6)
"Basic=Date Date=YM Year=Ln"
(pour tout n)
"Basic=Date Date=YMD Year=Basic" DATE-ENCODING
ou (voir § 28 bis.2.7)
"Basic=Date Date=YMD Year=Proleptic"
2 Rec. UIT-T X.691 (2002)/Amd.2 (06/2006)
---------------------- Page: 5 ----------------------
ISO/CEI 8825-2:2002/Amd.2:2007 (F)
Tableau 2 – Codage d'un sous-type de temps avec toutes les valeurs abstraites
qui ont les réglages de propriétés spécifiés
Numéro
de la Réglages de propriétés Type ASN.1 à coder
ligne
"Basic=Date Date=YMD Year=Negative" ANY-DATE-ENCODING
ou (voir § 28 bis.2.8)
"Basic=Date Date=YMD Year=Ln"
(pour tout n)
"Basic=Date Date=YD Year=Basic" YEAR-DAY-ENCODING
ou (voir § 28 bis.2.9)
"Basic=Date Date=YD Year=Proleptic"
"Basic=Date Date=YD Year=Negative" ANY-YEAR-DAY-ENCODING
ou (voir § 28 bis.2.10)
"Basic=Date Date=YD Year=Ln"
(pour tout n)
"Basic=Date Date=YW Year=Basic" YEAR-WEEK-ENCODING
11 ou (voir § 28 bis.2.11)
"Basic=Date Date=YW Year=Proleptic"
"Basic=Date Date=YW Year=Negative" ANY-YEAR-WEEK-ENCODING
ou (voir § 28 bis.2.12)
"Basic=Date Date=YW Year=Ln"
(pour tout n)
"Basic=Date Date=YWD Year=Basic" YEAR-WEEK-DAY-ENCODING
ou (voir § 28 bis.2.13)
"Basic=Date Date=YWD Year=Proleptic"
"Basic=Date Date=YWD Year=Negative" ANY-YEAR-WEEK-DAY-ENCODING
ou (voir § 28 bis.2.14)
"Basic=Date Date=YWD Year=Ln"
(pour tout n)
"Basic=Time Time=H Local-or-UTC=L" HOURS-ENCODING
(voir § 28 bis.3.1)
"Basic=Time Time=H Local-or-UTC=Z" HOURS-UTC-ENCODING
(voir § 28 bis.3.2)
"Basic=Time Time=H Local-or-UTC=LD" HOURS-AND-DIFF-ENCODING
(voir § 28 bis.3.3)
"Basic=Time Time=HM Local-or-UTC=L" MINUTES-ENCODING
(voir § 28 bis.3.4)
"Basic=Time Time=HM Local-or-UTC=Z" MINUTES-UTC-ENCODING
(voir § 28 bis.3.5)
"Basic=Time Time=HM Local-or-UTC=LD" MINUTES-AND-DIFF-ENCODING
(voir § 28 bis.3.6)
"Basic=Time Time=HMS Local-or-UTC=L" TIME-OF-DAY-ENCODING
(voir § 28 bis.3.7)
"Basic=Time Time=HMS Local-or-UTC=Z" TIME-OF-DAY-UTC-ENCODING
(voir § 28 bis.3.8)
"Basic=Time Time=HMS Local-or-UTC=LD" TIME-OF-DAY-AND-DIFF-ENCODING
(voir § 28 bis.3.9)
"Basic=Time Time=HFn Local-or-UTC=L" HOURS-AND-FRACTION-ENCODING
(mais voir § 28 bis.1.3) (voir § 28 bis.3.10)
"Basic=Time Time=HFn Local-or-UTC=Z" HOURS-UTC-AND-FRACTION-ENCODING
(mais voir § 28 bis.1.3) (voir § 28 bis.3.11)
Rec. UIT-T X.691 (2002)/Amd.2 (06/2006) 3
---------------------- Page: 6 ----------------------
ISO/CEI 8825-2:2002/Amd.2:2007 (F)
Tableau 2 – Codage d'un sous-type de temps avec toutes les valeurs abstraites
qui ont les réglages de propriétés spécifiés
Numéro
de la Réglages de propriétés Type ASN.1 à coder
ligne
"Basic=Time Time=HFn Local-or-UTC=LD" HOURS-AND-DIFF-AND-FRACTION-ENCODING
(mais voir § 28 bis.1.3) (voir § 28 bis.3.12)
"Basic=Time Time=HMFn Local-or-UTC=L" MINUTES-AND-FRACTION-ENCODING
(mais voir § 28 bis.1.3) (voir § 28 bis.3.13)
"Basic=Time Time=HMFn Local-or-UTC=Z" MINUTES-UTC-AND-FRACTION-ENCODING
(mais voir § 28 bis.1.3) (voir § 28 bis.3.14)
"Basic=Time Time=HMFn Local-or-UTC=LD" MINUTES-AND-DIFF-AND-FRACTION-ENCODING
(mais voir § 28 bis.1.3) (voir § 28 bis.3.15)
"Basic=Time Time=HMSFn Local-or-UTC=L" TIME-OF-DAY-AND-FRACTION-ENCODING
(mais voir § 28 bis.1.3) (voir § 28 bis.3.16)
"Basic=Time Time=HMSFn Local-or-UTC=Z" TIME-OF-DAY-UTC-AND-FRACTION-ENCODING
(mais voir § 28 bis.1.3) (voir § 28 bis.3.17)

"Basic=Time Time=HMSFn Local-or-UTC=LD" TIME-OF-DAY-AND-DIFF-AND-FRACTION-ENCODING

(mais voir § 28 bis.1.3) (voir § 28 bis.3.18)
"Basic=Date-Time" DATE-TIME-ENCODING
Toutes les valeurs abstraites doivent avoir les mêmes {Date-Type, Time-Type}
réglages additionnels de propriétés spécifiés dans l'une
(instancié comme spécifié au § 28 bis.4.1)
des lignes 1 à 14 pour "Basic=Date" ainsi que les
mêmes réglages additionnels de propriétés spécifiés dans
l'une des lignes 15 à 32 pour "Basic=Time".
"Basic=Interval Interval-type=SE START-END-DATE-INTERVAL-ENCODING
SE-point=Date"
{Date-Type}
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.5.1)
réglages additionnels de propriétés spécifiés dans l'une
des lignes 1 à 14 pour "Basic=Date".
"Basic=Interval Interval-type=SE START-END-TIME-INTERVAL-ENCODING
SE-point=Time"
{Time-Type}
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.5.2)
réglages additionnels de propriétés spécifiés dans l'une
des lignes 15 à 32 pour "Basic=Time".
"Basic=Interval Interval-type=SE START-END-DATE-TIME-INTERVAL-ENCODING
SE-point=Date-Time"
{Date-Type, Time-Type}
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.5.3)
réglages additionnels de propriétés spécifiés dans l'une
des lignes 1 à 14 pour "Basic=Date" ainsi que les
mêmes réglages additionnels de propriétés spécifiés dans
l'une des lignes 15 à 32 pour "Basic=Time".
"Basic=Interval Interval-type=D" DURATION-INTERVAL-ENCODING
(voir § 28 bis.6.1)
"Basic=Interval Interval-type=SD START-DATE-DURATION-INTERVAL-ENCODING
SE-point=Date"
{Date-Type}
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.7.1)
réglages additionnels de propriétés spécifiés dans l'une
des lignes 1 à 14 pour "Basic=Date".
"Basic=Interval Interval-type=SD START-TIME-DURATION-INTERVAL-ENCODING
SE-point=Time"
{Time-Type}
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.7.2)
réglages additionnels de propriétés spécifiés dans l'une
des lignes 15 à 32 pour "Basic=Time".
4 Rec. UIT-T X.691 (2002)/Amd.2 (06/2006)
---------------------- Page: 7 ----------------------
ISO/CEI 8825-2:2002/Amd.2:2007 (F)
Tableau 2 – Codage d'un sous-type de temps avec toutes les valeurs abstraites
qui ont les réglages de propriétés spécifiés
Numéro
de la Réglages de propriétés Type ASN.1 à coder
ligne
"Basic=Interval Interval-type=SD START-DATE-TIME-DURATION-INTERVAL-ENCODING
SE-point=Date-Time"
{Date-Type, Time-Type}
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.7.3)
réglages additionnels de propriétés spécifiés dans l'une
des lignes 1 à 14 pour "Basic=Date" ainsi que les
mêmes réglages additionnels de propriétés spécifiés dans
l'une des lignes 15 à 32 pour "Basic=Time".
"Basic=Interval Interval-type=DE DURATION-END-DATE-INTERVAL-ENCODING
SE-point=Date"
{Date-Type}
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.7.4)
réglages additionnels de propriétés spécifiés dans l'une
des lignes 1 à 14 pour "Basic=Date".
"Basic=Interval Interval-type=DE DURATION-END-TIME-INTERVAL-ENCODING
SE-point=Time"
{Time-Type}
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.7.5)
réglages additionnels de propriétés spécifiés dans l'une
des lignes 15 à 32 pour "Basic=Time".
"Basic=Interval Interval-type=DE DURATION-END-DATE-TIME-INTERVAL-ENCODING
SE-point=Date-Time"
{Date-Type, Time-Type}
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.7.6)
réglages additionnels de propriétés spécifiés dans l'une
des lignes 1 à 14 pour "Basic=Date" ainsi que les
mêmes réglages additionnels de propriétés spécifiés dans
l'une des lignes 15 à 32 pour "Basic=Time".
"Basic=Rec-Interval Interval-type=SE REC-START-END-DATE-INTERVAL-ENCODING
SE-point=Date"
{Date-Type}
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.8.1)
réglages additionnels de propriétés spécifiés dans l'une
des lignes 1 à 14 pour "Basic=Date".
"Basic=Rec-Interval Interval-type=SE REC-START-END-TIME-INTERVAL-ENCODING
SE-point=Time"
{Time-Type}
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.8.2)
réglages additionnels de propriétés spécifiés dans l'une
des lignes 15 à 32 pour "Basic=Time".
"Basic=Rec-Interval Interval-type=SE REC-START-END-DATE-TIME-INTERVAL-ENCODING
SE-point=Date-Time"
{Date-Type, Time-Type}
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.8.3)
réglages additionnels de propriétés spécifiés dans l'une
des lignes 1 à 14 pour "Basic=Date" ainsi que les
mêmes réglages additionnels de propriétés spécifiés dans
l'une des lignes 15 à 32 pour "Basic=Time".
"Basic=Rec-Interval Interval-type=D" REC-DURATION-INTERVAL-ENCODING
(voir § 28 bis.9.1)
"Basic=Rec-Interval Interval-type=SD REC-START-DATE-DURATION-INTERVAL-ENCODING
SE-point=Date"
{Date-Type}
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.10.1)
réglages additionnels de propriétés spécifiés dans l'une
des lignes 1 à 14 pour "Basic=Date".
"Basic=Rec-Interval Interval-type=SD REC-START-TIME-DURATION-INTERVAL-ENCODING
SE-point=Time"
{Time-Type}
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.10.2)
réglages additionnels de propriétés spécifiés dans l'une
des lignes 15 à 32 pour "Basic=Time".
Rec. UIT-T X.691 (2002)/Amd.2 (06/2006) 5
---------------------- Page: 8 ----------------------
ISO/CEI 8825-2:2002/Amd.2:2007 (F)
Tableau 2 – Codage d'un sous-type de temps avec toutes les valeurs abstraites
qui ont les réglages de propriétés spécifiés
Numéro
de la Réglages de propriétés Type ASN.1 à coder
ligne
"Basic=Rec-Interval Interval-type=SD REC-START-DATE-TIME-DURATION-INTERVAL-
SE-point=Date-Time" ENCODING
Toutes les valeurs abstraites doivent avoir les mêmes {Date-Type, Time-Type}
réglages additionnels de propriétés spécifiés dans l'une
(voir § 28 bis.10.3)
des lignes 1 à 14 pour "Basic=Date" ainsi que les
mêmes réglages additionnels de propriétés spécifiés dans
l'une des lignes 15 à 32 pour "Basic=Time".
"Basic=Rec-Interval Interval-type=DE REC-DURATION-END-DATE-INTERVAL-ENCODING
SE-point=Date"
{Date-Type}
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.10.4)
réglages additionnels de propriétés spécifiés dans l'une
des lignes 1 à 14 pour "Basic=Date".
"Basic=Rec-Interval Interval-type=DE REC-DURATION-END-TIME-INTERVAL-ENCODING
SE-point=Time"
{Time-Type}
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.10.5)
réglages additionnels de propriétés spécifiés dans l'une
des lignes 15 à 32 pour "Basic=Time".
"Basic=Rec-Interval Interval-type=DE REC-DURATION-END-DATE-TIME-INTERVAL-
SE-point=Date-Time" ENCODING
Toutes les valeurs abstraites doivent avoir les mêmes {Date-Type, Time-Type}
réglages additionnels de propriétés spécifiés dans l'une
(voir § 28 bis.10.6)
des lignes 1 à 14 pour "Basic=Date" ainsi que les
mêmes réglages additionnels de propriétés spécifiés dans
l'une des lignes 15 à 32 pour "Basic=Time".
28 bis.2 Codage des sous-types avec le réglage de propriété "Basic=Date"

Ce paragraphe définit les types ASN.1 référencés dans le Tableau 2, colonne 3 pour des types dont toutes les valeurs

abstraites ont le réglage de propriété "Basic=Date".
28 bis.2.1 Le type CENTURY-ENCODING est défini comme:
CENTURY-ENCODING::= INTEGER(0..99) -- 7 bits

avec la valeur entière qui prend la valeur spécifiée par les deux premiers chiffres du composant année de la valeur

abstraite.
28 bis.2.2 Le type ANY-CENTURY-ENCODING est défini comme:
ANY-CENTURY-ENCODING::= INTEGER(MIN..MAX)

avec la valeur entière qui prend la valeur spécifiée par le composant année de la valeur abstraite, en ignorant les deux

derniers chiffres.
28 bis.2.3 Le type YEAR-ENCODING est défini comme:
YEAR-ENCODING ::= CHOICE { -- 2 bits pour le déterminant de choix
immediate INTEGER (2005..2020), -- 4 bits
near-future INTEGER (2021..2276), -- 8 bits
near-past INTEGER (1749..2004), -- 8 bits
remainder INTEGER (MIN..1748 | 2277..MAX)}

avec la valeur entière qui prend la valeur du composant année de la valeur abstraite.

NOTE – Ceci a été optimisé pour fournir un codage sur 6 ou 10 bits pour des cas communs.

28 bis.2.4 Le type ANY-YEAR-ENCODING est défini comme:
ANY-YEAR-ENCODING::= INTEGER(MIN..MAX)

avec la valeur entière qui prend la valeur du composant année de la valeur abstraite.

6 Rec. UIT-T X.691 (2002)/Amd.2 (06/2006)
---------------------- Page: 9 ----------------------
ISO/CEI 8825-2:2002/Amd.2:2007 (F)
28 bis.2.5 Le type YEAR-MONTH-ENCODING est défini comme:
YEAR-MONTH-ENCODING::= SEQUENCE {
year YEAR-ENCODING,
month INTEGER (1..12) -- 4 bits -- }

avec la valeur du composant YEAR-ENCODING fixée en accord avec le § 28 bis.2.3 et le composant entier month qui

prend la valeur du composant mois de la valeur abstraite.

NOTE – Ceci a été optimisé pour fournir un codage sur 10 ou 14 bits pour des cas communs.

28 bis.2.6 Le type ANY-YEAR-MONTH-ENCODING est défini comme:
ANY-YEAR-MONTH-ENCODING::= SEQUENCE {
year ANY-YEAR-ENCODING,
month INTEGER (1..12) }

avec la valeur du composant ANY-YEAR-ENCODING fixée en accord avec le § 28 bis.2.4 et le composant entier month

qui prend la valeur du composant mois de la valeur abstraite.
28 bis.2.7 Le type DATE-ENCODING est défini comme:
DATE-ENCODING::= SEQUENCE {
year YEAR-ENCODING,
month INTEGER (1..12), -- 4 bits
day INTEGER (1..31) -- 5 bits -- }

avec la valeur du composant YEAR-ENCODING fixée en accord avec le § 28 bis.2.3, le composant entier month qui prend

la valeur du composant mois de la valeur abstraite et le composant entier day qui prend la valeur du composant jour de

la valeur abstraite.

NOTE – Ceci a été optimisé pour fournir un codage sur 15 ou 19 bits pour des cas communs.

28 bis.2.8 Le type ANY-DATE-ENCODING est défini comme:
ANY-DATE-ENCODING::= SEQUENCE {
year ANY-YEAR-ENCODING,
month INTEGER (1..12),
day INTEGER (1..31)}

avec la valeur du composant ANY-YEAR-ENCODING fixée en accord avec le § 28 bis.2.4, le composant entier month qui

prend la valeur du composant mois de la valeur abstraite et le composant entier day qui prend la valeur du composant

jour de la valeur abstraite.
28 bis.2.9 Le type YEAR-DAY-ENCODING est défini comme:
YEAR-DAY-ENCODING::= SEQUENCE {
year YEAR-ENCODING,
day INTEGER (1..366)}

avec la valeur du composant YEAR-ENCODING fixée en accord avec le § 28 bis.2.3 et le composant entier day qui prend

la valeur du composant jour de la valeur abstraite.
28 bis.2.10 Le type ANY-YEAR-DAY-ENCODING est défini comme:
ANY-YEAR-DAY-ENCODING::= SEQUENCE {
year ANY-YEAR-ENCODING,
day INTEGER (1..366)}

avec la valeur du composant ANY-YEAR-ENCODING fixée en accord avec le § 28 bis.2.4 et le composant entier day qui

prend la valeur du composant jour de la valeur abstraite.
28 bis.2.11 Le type YEAR-WEEK-ENCODING est défini comme:
YEAR-WEEK-ENCODING::= SEQUENCE {
year YEAR-ENCODING,
week INTEGER (1..53), -- 6 bits --}

avec la valeur du composant YEAR-ENCODING fixée en accord avec le § 28 bis.2.3 et le composant entier week qui

prend la valeur du composant semaine de la valeur abstraite.

NOTE – Ceci a été optimisé pour fournir un codage sur 12 ou 16 bits pour des cas communs.

Rec. UIT-T X.691 (2002)/Amd.2 (06/2006) 7
---------------------- Page: 10 ----------------------
ISO/CEI 8825-2:2002/Amd.2:2007 (F)
28 bis.2.12 Le type ANY-YEAR-WEEK-ENCODING est défini comme:
ANY-YEAR-WEEK-ENCODING::= SEQUENCE {
year ANY-YEAR-ENCODING,
week INTEGER (1..53)}

avec la valeur du composant ANY-YEAR-ENCODING fixée en accord avec le § 28 bis.2.4 et le composant entier week qui

prend la valeur du composant semaine de la valeur abstraite.
28 bis.2.13 Le type YEAR-WEEK-DAY-ENCODING est défini comme:
YEAR-WEEK-DAY-ENCODING::= SEQUENCE {
year YEAR-ENCODING,
week INTEGER (1..53), -- 6 bits
day INTEGER (1..7) -- 3 bits -- }

avec la valeur du composant YEAR-ENCODING fixée en accord avec le § 28 bis.2.3, le composant entier week qui prend

la valeur du composant semaine de la valeur abstraite et le composant entier day qui prend la valeur du composant jour

de la valeur abstraite.

NOTE – Ceci a été optimisé pour fournir un codage sur 15 ou 19 bits pour des cas communs.

28 bis.2.14 Le type ANY-YEAR-WEEK-DAY-ENCODING est défini comme:
ANY-YEAR-WEEK-DAY-ENCODING::= SEQUENCE {
year ANY-YEAR-ENCODING,
week INTEGER (1..53),
day INTEGER (1..7)}

avec la valeur du composant ANY-YEAR-ENCODING fixée en accord avec le § 28 bis.2.4, le composant entier week qui

prend la valeur du composant semaine de la valeur abstraite et le composant entier day qui prend la valeur du

composant jour de la valeur abstraite.
28 bis.3 Codage des sous-types avec le réglage de propriété "Basic=Time"

Ce paragraphe définit les types ASN.1 référencés dans le Tableau 2, colonne 3 pour des types dont toutes les valeurs

abstraites ont le réglage de propriété Basic=Time.
28 bis.3.1 Le type HOURS-ENCODING est défini comme:
HOURS-ENCODING::= INTEGER(0..24) -- 5 bits

avec la valeur entière qui prend la valeur du composant heures de la valeur abstraite.

NOTE – Ceci a été optimisé pour fournir un codage sur 5 bits.
28 bis.3.2 Le type HOURS-UTC-ENCODING est défini comme:
HOURS-UTC-ENCODING::= INTEGER(0..24) -- 5 bits

avec la valeur entière qui prend la valeur du composant heures de la valeur abstraite.

NOTE – Ceci a été optimisé pour fournir un codage sur 5 bits.
28 bis.3.3 Le type HOURS-AND-DIFF-ENCODING est défini comme:
HOURS-AND-DIFF-ENCODING::= SEQUENCE {
local-hours INTEGER (0..24),
time-difference TIME-DIFFERENCE }
où:
TIME-DIFFERENCE::= SEQUENCE {
hours INTEGER (-15..16),
minutes INTEGER (1..59) OPTIONAL } }

avec le composant entier local-hours qui prend la valeur du composant heures de la valeur abstraite et le composant

time-difference qui prend les valeurs des heures et minutes du composant différence d'heure de la valeur abstraite.

Si le composant minutes de la différence d'heure est nul, le composant minutes du type TIME-DIFFERENCE est omis.

8 Rec. UIT-T X.691 (2002)/Amd.2 (06/2006)
---------------------- Page: 11 ----------------------
ISO/CEI 8825-2:2002/Amd.2:2007 (F)
28 bis.3.4 Le type MINUTES-ENCODING est défini comme:
MINUTES-ENCODING::= SEQUENCE {
hours INTEGER (0..24), -- 5 bits
minutes INTEGER (0..59) -- 5 bits -- }

avec le composant entier hours qui prend la valeur du composant heures de la valeur abstraite et le composant entier

minutes qui prend la valeur du composant minutes de la valeur abstraite.
NOTE – Ceci a été optimisé pour fournir un codage sur 10 bits.
28 bis.3.5 Le type MINUTES-UTC-ENCODING est défini comme:
MINUTES-UTC-ENCODING::= SEQUENCE {
hours INTEGER (0..24), -- 5 bits
minutes INTEGER (0..59) -- 5 bits -- }

avec le composant entier hours qui prend la valeur du composant heures de la valeur abstraite et le composant entier

minutes qui prend la valeur du composant minutes.
NOTE – Ceci a été optimisé pour fournir un codage sur 10 bits.
28 bis.3.6 Le type MINUTES-AND-DIFF-ENCODING est défini comme:
MINUTES-AND-DIFF-ENCODING::= SEQUENCE {
local-time SEQUENCE {
hours INTEGER (0..24),
minutes INTEGER (0..59) },
time-difference TIME-DIFFERENCE } }

avec le composant local-time qui prend la valeur des composants heures et minutes de l'heure locale de la valeur

abstraite et le composant time-difference qui prend les valeurs des heures et minutes du composant différence

d'heure de la valeur abstraite comme spécifié au § 28 bis.3.3.
28 bis.3.7 Le type TIME-OF-DAY-ENCODING est défini comme:
TIME-OF-DAY-ENCODING::= SEQUENCE {
hours INTEGER (0..24), -- 5 bits
minutes INTEGER (0..59), -- 5 bits
seconds INTEGER (0..60) -- 5 bits -- }

avec le composant entier hours qui prend la valeur du composant heures de la valeur abstraite, le composant entier

minutes qui prend la valeur du composant minutes et le composant entier seconds qui prend la valeur du composant

secondes.
NOTE – Ceci a été optimisé pour fournir un codage sur 15 bits.
28 bis.3.8 Le type TIME-OF-DAY-UTC-ENCODING est défini comme:
TIME-OF-DAY-UTC-ENCODING::= SEQUENCE {
hours INTEGER (0..24), -- 5 bits
minutes INTEGER (0..59), -- 5 bits
seconds INTEGER (0..60) -- 5 bits -- }
avec le composant entier hours qui prend la valeur du com
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.