BerLib.BerEncoding.EncodeTag C# (CSharp) Method

EncodeTag() public static method

public static EncodeTag ( IBerOutput output, BerTag tag ) : int
output IBerOutput
tag BerTag
return int
        public static int EncodeTag(IBerOutput output, BerTag tag)
        {
            var number = tag.Number;
             var size = 1;
             tag.Preamble &= 0xE0;

             if(number < 0x1F)
             {
            output.WriteByte((byte)(tag.Preamble | (number & 0x1F)));
             }
             else
             {
            output.WriteByte((byte)(tag.Preamble | 0x1F));

            size += EncodeMultiByteInteger(output, number);
             }

             return size;
        }

Usage Example

Example #1
0
 static void EncodeHeader(IBerOutput output, BerTag tag, int length)
 {
     BerEncoding.EncodeTag(output, tag);
     BerEncoding.EncodeLength(output, length);
 }