Empeld
Empeld plugin documentation.
pluginbase.Helpers.Hex Class Reference

Hex computation helpers More...

Static Public Member Functions

static byte CharVal (char c)
 Convert a hex digit to its corresponding decimal digit More...
 
static byte CharValExpanded (char c)
 Convert a single hex digit, into its expanded 2-digit form Eg. Interpret 0xA as 0xAA More...
 
static byte CharVal (char c1, char c2)
 Gets the byte val of 2 hex digits More...
 
static int ToInt32 (string s)
 Convert a string sequence of Hex to its decimal form More...
 
static long ToInt64 (string s)
 Convert a string sequence of Hex digits to its decimal form More...
 
static string ToHex (long val, int minLen=0)
 Convert an integer to its hex string More...
 
static string ToHex (byte[] bytes)
 Convert an array of bytes to its hex string More...
 

Detailed Description

Hex computation helpers

Member Function Documentation

◆ CharVal() [1/2]

static byte pluginbase.Helpers.Hex.CharVal ( char  c)
static

Convert a hex digit to its corresponding decimal digit

Returns
The base10 digit.
Parameters
cC.

Attribute: c & 0xff

;

41  {
42  return _charValues[c & 0xff];
43  }

◆ CharVal() [2/2]

static byte pluginbase.Helpers.Hex.CharVal ( char  c1,
char  c2 
)
static

Gets the byte val of 2 hex digits

Returns
The decimal value.
Parameters
c1C1.
c2C2.

Attribute: c1 & 0xff] << 4 | _charValues[c2 & 0xff

);

64  {
65  return (byte)(_charValues[c1 & 0xff] << 4 | _charValues[c2 & 0xff]);
66  }

◆ CharValExpanded()

static byte pluginbase.Helpers.Hex.CharValExpanded ( char  c)
static

Convert a single hex digit, into its expanded 2-digit form Eg. Interpret 0xA as 0xAA

Returns
The decimal value
Parameters
cThe hex digit

Attribute: c & 0xff

;

52  {
53  byte v = _charValues[c & 0xff];
54  return (byte)(v << 4 | v);
55  }

◆ ToHex() [1/2]

static string pluginbase.Helpers.Hex.ToHex ( long  val,
int  minLen = 0 
)
static

Convert an integer to its hex string

Returns
The hex.
Parameters
valValue.
minLenMinimum length.

Attribute: val & 0xf

);

105  {
106  var s = new StringBuilder();
107  while(val > 0)
108  {
109  s.Insert(0, _valueSymbol[val & 0xf]);
110  val >>= 4;
111  }
112  while (s.Length < minLen)
113  s.Insert(0, '0');
114  return s.ToString();
115  }

◆ ToHex() [2/2]

static string pluginbase.Helpers.Hex.ToHex ( byte []  bytes)
static

Convert an array of bytes to its hex string

Returns
The hex.
Parameters
bytesBytes.

Attribute: bytes[i] >> 4

); //Left bits

Attribute: bytes[i] & 0xf

); //Right bits

123  {
124  var s = new StringBuilder();
125  for (int i=0; i<bytes.Length; ++i)
126  {
127  s.Append(_valueSymbol[bytes[i] >> 4]); //Left bits
128  s.Append(_valueSymbol[bytes[i] & 0xf]); //Right bits
129  }
130  return s.ToString();
131  }

◆ ToInt32()

static int pluginbase.Helpers.Hex.ToInt32 ( string  s)
static

Convert a string sequence of Hex to its decimal form

Returns
Integer
Parameters
sHex string

Attribute: s[i] & 0xff

;

74  {
75  int v = 0;
76  for (int i=0; i<s.Length; ++i)
77  {
78  v = (v << 4) | _charValues[s[i] & 0xff];
79  }
80  return v;
81  }

◆ ToInt64()

static long pluginbase.Helpers.Hex.ToInt64 ( string  s)
static

Convert a string sequence of Hex digits to its decimal form

Returns
The int64.
Parameters
sHex string

Attribute: s[i] & 0xff

;

89  {
90  long v = 0;
91  for (int i=0; i<s.Length; ++i)
92  {
93  v = (v << 4) | _charValues[s[i] & 0xff];
94  }
95  return v;
96  }

The documentation for this class was generated from the following file: