1. Can anyone give a sample of unaligned PER encoding?
Yes, but I'm not so sure it would be useful without your reviewing the
books I suggested. PER is somewhat advanced considering you don't yet
understand tags.
In any case, let's take the specifications
Y ::= INTEGER
Z ::= INTEGER (0..15)
which say that Y may take any integer, while Z may only take integers
within the range 0-15. If I use unaligned PER to encode them, the encoder
takes advantage of the fact that Z can only have 16 possible states. That
is, the length of Y, since one cannot put a bound on the possible values,
is unknown, so it would have to include a length field. Z, on the other
hand, can only have 16 states, and it only takes 4 bits to enumerate the
16 states, so PER uses 4 bits for the value and no bits for the length.
By way of example
y Y ::= 15 -- in unaligned PER, this becomes 010F
z Z ::= 15 -- in unaligned PER, this becomes F
2. INTEGER(0..10,...,5) -the value 5 encodes as a root value,not as an
extension addition
How to understand this definition above?"0..10" denotes size
constrained."..." denotes extension.How about the value 5?How to
understand it as a root value?Any sample of its application?
The 0..10 part says that the integer must take a value within the range
0-10. The ",..." part says it is extensible, that is, that a future
release of the ASN.1 might relax that constraint. Imagine we have
Z defined like in question 1 above, but that we wish to allow some
flexibility for the future. We could define it like this
Z ::= INTEGER (0..10,...)
which means that someone might come along and relax the restriction later
on (actually the concept of extensibility is more complicated, but I don't
want to give you a lesson on extensibility at this early stage; you should
read the books).
In time, someone does come along and wishes to relax the constraint on Z
to also allow 11-15. The way he would do it is
Z ::= INTEGER (0..10, ..., 11..15)
Values with the range 0-10 are considered within the root; values outside
that range are considered within the extension. Your example
"(0..10,...,5)" doesn't make much sense since the 5 is already within the
root.
3.What's the function of TAG in set/sequence/choice... ?What's impact to
encodings by TAG?
Please read the books. Once you've read them, if you still don't
understand tags, please ask again.
=====================================================================
Conrad Sigona Voice Mail : 1-732-302-9669 x400
OSS Nokalva Fax : 1-614-388-4156
[EMAIL PROTECTED] My direct line : 1-315-845-1773
_______________________________________________
ASN1 mailing list
[email protected]
http://lists.asn1.org/mailman/listinfo/asn1