Show / Hide Table of Contents

Class BinaryWriterExtensions

Inheritance
System.Object
BinaryWriterExtensions
Namespace: Eco.Shared.Utils.Binary
Assembly: Eco.Shared.dll
Syntax
public static class BinaryWriterExtensions : Object

Methods

AppendBoolToInt(Int32, Boolean)

In c# bool takes 8 bits. It means there is excess of 7 bits. It can be improved by encoding it as a part of some existing int, so it would take only 1 bit. This method shifts all bits to the left and writes bool value in the last bit.

Declaration
public static int AppendBoolToInt(this int value, bool boolVal)
Parameters
Type Name Description
System.Int32 value
System.Boolean boolVal
Returns
Type Description
System.Int32

EncodeVariableLength(BinaryWriter, Int32)

Encodes a signed integer using variable number of bytes, depending on the actual value of the integer.

Declaration
public static void EncodeVariableLength(this BinaryWriter writer, int value)
Parameters
Type Name Description
System.IO.BinaryWriter writer
System.Int32 value
Remarks

This method can end up encoding the integer using between 1 and 5 bytes.

EncodeVariableLength(BinaryWriter, Int64)

Encodes a signed integer using variable number of bytes, depending on the actual value of the integer.

Declaration
public static void EncodeVariableLength(this BinaryWriter writer, long value)
Parameters
Type Name Description
System.IO.BinaryWriter writer
System.Int64 value
Remarks

This method can end up encoding the integer using between 1 and 10 bytes.

EncodeVariableLength(BinaryWriter, UInt32)

Encodes an unsigned integer using variable number of bytes, depending on the actual value of the integer.

Declaration
public static void EncodeVariableLength(this BinaryWriter writer, uint value)
Parameters
Type Name Description
System.IO.BinaryWriter writer
System.UInt32 value
Remarks

This method can end up encoding the integer using between 1 and 5 bytes.

EncodeVariableLength(BinaryWriter, UInt64)

Encodes an unsigned integer using variable number of bytes, depending on the actual value of the integer.

Declaration
public static void EncodeVariableLength(this BinaryWriter writer, ulong value)
Parameters
Type Name Description
System.IO.BinaryWriter writer
System.UInt64 value
Remarks

This method can end up encoding the integer using between 1 and 10 bytes.

ExtractBoolFromInt(Int32, out Boolean)

This does reverse of AppendBoolToInt(Int32, Boolean). It extracts bool value and returns original int.

Declaration
public static int ExtractBoolFromInt(this int value, out bool boolVal)
Parameters
Type Name Description
System.Int32 value
System.Boolean boolVal
Returns
Type Description
System.Int32

GetZigZagLength(BinaryWriter, Int32)

Declaration
public static int GetZigZagLength(this BinaryWriter writer, int value)
Parameters
Type Name Description
System.IO.BinaryWriter writer
System.Int32 value
Returns
Type Description
System.Int32

ReplaceZigZag(BinaryWriter, Int32, Int32, Int32)

Replaces previously encoded oldValue with newValue at position. To perform this operation writer backing stream should be System.IO.MemoryStream. Length of encoded number may be different, in this case data after encoded number will be shifted left or right.

Declaration
public static void ReplaceZigZag(this BinaryWriter writer, int position, int oldValue, int newValue)
Parameters
Type Name Description
System.IO.BinaryWriter writer
System.Int32 position
System.Int32 oldValue
System.Int32 newValue

WriteDictionary(BinaryWriter, Dictionary<String, String>)

Writes a string key,value Dictionary using a BinaryWriter

Declaration
public static void WriteDictionary(this BinaryWriter writer, Dictionary<string, string> dictionary)
Parameters
Type Name Description
System.IO.BinaryWriter writer
System.Collections.Generic.Dictionary<System.String, System.String> dictionary
☀
☾
In This Article
Back to top
Copyright (c) Strange Loop Games 2021
☀
☾