Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!munnari.oz.au!metro!usage!syacus!andrewf From: andrewf@syacus.acus.oz (Andrew Friedman) Newsgroups: comp.protocols.iso Subject: ASN.1/BER encoding of subidentifiers Keywords: ASN.1/BER, object identifiers Message-ID: <685@syacus.acus.oz> Date: 9 Apr 90 05:51:44 GMT Organization: Australian Centre for Unisys Software, Sydney Lines: 44 People in the aus news distribution will have seen this before: I was arguing with the boss over the encoding of subidentifiers in object identifiers (ISO 8825 Para 20). The encoding of the example in the text: (2 100 3) with the result of: 0603FF3503 (hex) seems to disagree with the text for that section. The problem is the encoding of the first subidentifer (180, formed by combining the first two object identifiers viz. 180 = 2 * 40 + 100 -- imagine ISO trying to save a byte at this late stage). If you look at the BER above, the first subidentifer is encoded as FF35H. This seems to be the result of 7FH added with 35H (ignore the first bit of each octet -- the more data bit), but the text says nothing about adding octets it says 'groups of bits are concatenated'. In my book this means you take 180 = B4H = 10110100 (binary) and pasting in the more data bits in the correct positions and zero filling on the left we get: 10000001 0 0110100 - ------- with the original bits marked equals 8134H hence (2 100 3) should be encoded 0603813403H So which is right, example or text? Where does one find the correction? Thanks.