Table of Contents

Class HexEncoding

Namespace
Ecng.Common
Assembly
Ecng.Common.dll

Summary description for HexEncoding. http://www.codeproject.com/KB/recipes/hexencoding.aspx

public class HexEncoding : Encoding, ICloneable
Inheritance
HexEncoding
Implements
Inherited Members
Extension Methods

Constructors

HexEncoding()

public HexEncoding()

Methods

GetByteCount(char[], int, int)

When overridden in a derived class, calculates the number of bytes produced by encoding a set of characters from the specified character array.

public override int GetByteCount(char[] chars, int index, int count)

Parameters

chars char[]

The character array containing the set of characters to encode.

index int

The index of the first character to encode.

count int

The number of characters to encode.

Returns

int

The number of bytes produced by encoding the specified characters.

Exceptions

ArgumentNullException

chars is null.

ArgumentOutOfRangeException

index or count is less than zero. -or- index and count do not denote a valid range in chars.

EncoderFallbackException

A fallback occurred (see Understanding Encodings for complete explanation) -and- EncoderFallback is set to EncoderExceptionFallback.

GetByteCount(string)

When overridden in a derived class, calculates the number of bytes produced by encoding the characters in the specified string.

public override int GetByteCount(string hexString)

Parameters

hexString string

The string containing the set of characters to encode.

Returns

int

The number of bytes produced by encoding the specified characters.

Exceptions

ArgumentNullException

hexString is null.

EncoderFallbackException

A fallback occurred (see Understanding Encodings for complete explanation) -and- EncoderFallback is set to EncoderExceptionFallback.

GetBytes(char[], int, int, byte[], int)

When overridden in a derived class, encodes a set of characters from the specified character array into the specified byte array.

public override int GetBytes(char[] chars, int charIndex, int charCount, byte[] bytes, int byteIndex)

Parameters

chars char[]

The character array containing the set of characters to encode.

charIndex int

The index of the first character to encode.

charCount int

The number of characters to encode.

bytes byte[]

The byte array to contain the resulting sequence of bytes.

byteIndex int

The index at which to start writing the resulting sequence of bytes.

Returns

int

The actual number of bytes written into bytes.

Exceptions

ArgumentNullException

chars is null. -or- bytes is null.

ArgumentOutOfRangeException

charIndex or charCount or byteIndex is less than zero. -or- charIndex and charCount do not denote a valid range in chars. -or- byteIndex is not a valid index in bytes.

ArgumentException

bytes does not have enough capacity from byteIndex to the end of the array to accommodate the resulting bytes.

EncoderFallbackException

A fallback occurred (see Understanding Encodings for complete explanation) -and- EncoderFallback is set to EncoderExceptionFallback.

GetBytes(char[], int, int, out int)

Creates a byte array from the hexadecimal string. Each two characters are combined to create one byte. First two hexadecimal characters become first byte in returned array. Non-hexadecimal characters are ignored.

public static byte[] GetBytes(char[] chars, int charIndex, int charCount, out int discarded)

Parameters

chars char[]

The character array containing the set of characters to encode.

charIndex int

The index of the first character to encode.

charCount int

The number of characters to encode.

discarded int

number of characters in string ignored.

Returns

byte[]

byte array, in the same left-to-right order as the hexString.

GetBytes(string)

Creates a byte array from the hexadecimal string. Each two characters are combined to create one byte. First two hexadecimal characters become first byte in returned array. Non-hexadecimal characters are ignored.

public override byte[] GetBytes(string hexString)

Parameters

hexString string

string to convert to byte array

Returns

byte[]

byte array, in the same left-to-right order as the hexString

GetCharCount(byte[], int, int)

When overridden in a derived class, calculates the number of characters produced by decoding a sequence of bytes from the specified byte array.

public override int GetCharCount(byte[] bytes, int index, int count)

Parameters

bytes byte[]

The byte array containing the sequence of bytes to decode.

index int

The index of the first byte to decode.

count int

The number of bytes to decode.

Returns

int

The number of characters produced by decoding the specified sequence of bytes.

Exceptions

ArgumentNullException

bytes is null.

ArgumentOutOfRangeException

index or count is less than zero. -or- index and count do not denote a valid range in bytes.

DecoderFallbackException

A fallback occurred (see Understanding Encodings for complete explanation) -and- DecoderFallback is set to DecoderExceptionFallback.

GetChars(byte[], int, int, char[], int)

When overridden in a derived class, decodes a sequence of bytes from the specified byte array into the specified character array.

public override int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex)

Parameters

bytes byte[]

The byte array containing the sequence of bytes to decode.

byteIndex int

The index of the first byte to decode.

byteCount int

The number of bytes to decode.

chars char[]

The character array to contain the resulting set of characters.

charIndex int

The index at which to start writing the resulting set of characters.

Returns

int

The actual number of characters written into chars.

Exceptions

ArgumentNullException

bytes is null. -or- chars is null.

ArgumentOutOfRangeException

byteIndex or byteCount or charIndex is less than zero. -or- byteIndex and byteCount do not denote a valid range in bytes. -or- charIndex is not a valid index in chars.

ArgumentException

chars does not have enough capacity from charIndex to the end of the array to accommodate the resulting characters.

DecoderFallbackException

A fallback occurred (see Understanding Encodings for complete explanation) -and- DecoderFallback is set to DecoderExceptionFallback.

GetMaxByteCount(int)

When overridden in a derived class, calculates the maximum number of bytes produced by encoding the specified number of characters.

public override int GetMaxByteCount(int charCount)

Parameters

charCount int

The number of characters to encode.

Returns

int

The maximum number of bytes produced by encoding the specified number of characters.

Exceptions

ArgumentOutOfRangeException

charCount is less than zero.

EncoderFallbackException

A fallback occurred (see Understanding Encodings for complete explanation) -and- EncoderFallback is set to EncoderExceptionFallback.

GetMaxCharCount(int)

When overridden in a derived class, calculates the maximum number of characters produced by decoding the specified number of bytes.

public override int GetMaxCharCount(int byteCount)

Parameters

byteCount int

The number of bytes to decode.

Returns

int

The maximum number of characters produced by decoding the specified number of bytes.

Exceptions

ArgumentOutOfRangeException

byteCount is less than zero.

DecoderFallbackException

A fallback occurred (see Understanding Encodings for complete explanation) -and- DecoderFallback is set to DecoderExceptionFallback.

IsHexDigit(char)

Returns true is c is a hexadecimal digit (A-F, a-f, 0-9)

public static bool IsHexDigit(char c)

Parameters

c char

Character to test.

Returns

bool

true if hex digit, false if not.