System.IO.BinaryWriter.Write7BitEncodedInt C# (CSharp) Method

Write7BitEncodedInt() protected method

protected Write7BitEncodedInt ( int value ) : void
value int
return void
        protected void Write7BitEncodedInt(int value)
        {
            // Write out an int 7 bits at a time.  The high bit of the byte,
            // when on, tells reader to continue reading more bytes.
            uint v = (uint)value;   // support negative numbers
            while (v >= 0x80)
            {
                Write((byte)(v | 0x80));
                v >>= 7;
            }
            Write((byte)v);
        }
    }

Usage Example

 public void Save(Stream stream)
 {
     using (var bw = new BinaryWriter(stream, Encoding.UTF8, leaveOpen: true))
     {
         // 1337 - signature that this is us
         bw.Write7BitEncodedInt(1337);
         bw.Write7BitEncodedInt(1); // version
         bw.Write7BitEncodedInt(_dictionary.Length);
         bw.Write(_dictionary);
         _packer.Save(bw);
     }
 }
All Usage Examples Of System.IO.BinaryWriter::Write7BitEncodedInt