Path: utzoo!attcan!uunet!mcsun!ukc!stc!pauld From: pauld@tcom.stc.co.uk (Paul Davies) Newsgroups: comp.protocols.iso Subject: Re: (none) Message-ID: <130@rhum.tcom.stc.co.uk> Date: 27 Jun 90 11:58:25 GMT References: <9006251717.AA10430@moose.informix.com> Sender: news@tcom.stc.co.uk Reply-To: pauld@tcom.stc.co.uk (Paul Davies) Organization: STC Telecoms, London N11 1HB Lines: 35 In article <9006251717.AA10430@moose.informix.com> kwang@moose.UUCP (Kwang Sung) writes: >We have at least 2 ASN.1 compilers such as ISODE ASN.1 compiler and MAVROS >ASN.1 compiler from Germany. Seems to me I have 2 different results when I >compile my ASN.1 module. I thought those were supposed to follow ISO 8824 spec. >Am I right ?? But I don't know why this happened. Thanks. > I don't know if this is what is happening in your case but it is possible to produce two different (but correct) encodings from the same ASN1 source file if each encoder uses the two different types of length encoding. Basically there are two types of length encoding. "Definite length encoding", whereby the "length" part of the asn1 "type-length-contents" actually specifies the length in octets of the contents octet string. Or, "Indefinite length encoding", whereby the "length" part does not contain the length but instead the end of the contents is indicated by a "00" followed by "00" in the byte stream (sort of like an end-of-file indicator). A special value in the length part indicates which type of length encoding is in use. It may be that one compiler generates encoders which produce definate length encoded octet strings and the other compiler indefinite. I've a vague recollection that the ISO-DE compiler will switch from definite to indefinite if the contents become more than a particular length, maybe wrong. Regards Paul. -- ___ ___ / / / / / / / Paul Davies, STC Telecommunications, /__/ /__/ / / / Oakleigh Road South,New Southgate, London N11 1HB. / / / /__/ /___ Tel: +44 81 945 3605