15 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
16 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
17 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
18 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
19 255, 255, 255, 255, 255, 255, 255, 255, 0, 1,
20 2, 3, 4, 5, 6, 7, 8, 9, 255, 255,
21 255, 255, 255, 255, 255, 10, 11, 12, 13, 14,
22 15, 255, 255, 255, 255, 255, 255, 255, 255, 255,
23 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
24 255, 255, 255, 255, 255, 255, 255, 10, 11, 12,
25 13, 14, 15, 255, 255, 255, 255, 255, 255, 255,
26 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
27 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
28 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
29 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
30 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
31 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
32 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
33 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
34 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
35 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
36 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
37 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
38 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
39 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
40 255, 255, 255, 255, 255, 255
46 uint num = (uint)(((
value & 0xF0) << 4) + (
value & 0xF) - 35209);
47 uint num2 = ((((0 - num) & 0x7070) >> 4) + num + 47545) | (uint)casing;
48 buffer[startingIndex + 1] = (byte)num2;
49 buffer[startingIndex] = (byte)(num2 >> 8);
55 uint num = (uint)(((
value & 0xF0) << 4) + (
value & 0xF) - 35209);
56 uint num2 = ((((0 - num) & 0x7070) >> 4) + num + 47545) | (uint)casing;
57 buffer[startingIndex + 1] = (char)(num2 & 0xFFu);
58 buffer[startingIndex] = (char)(num2 >> 8);
63 for (
int i = 0; i <
bytes.Length; i++)
71 fixed (
byte* ptr =
bytes)
117 while (num2 <
bytes.Length)
121 if ((num3 | num4) == 255)
125 bytes[num2++] = (byte)((num4 << 4) | num3);
132 charsProcessed = num;
133 return (num3 | num4) != 255;
189 ulong num = (uint)(c - 48);
190 ulong num2 = (ulong)(-17875860044349952
L << (
int)num);
191 ulong num3 = num - 64;
192 if ((
long)(num2 & num3) >= 0
L)
204 if ((uint)(c - 48) > 9u)
206 return (uint)(c - 65) <= 5u;
214 if ((uint)(c - 48) > 9u)
216 return (uint)(c - 97) <= 5u;
static void EncodeToUtf16(ReadOnlySpan< byte > bytes, Span< char > chars, Casing casing=Casing.Upper)
static int FromLowerChar(int c)
static bool IsHexLowerChar(int c)
static void ToCharsBuffer(byte value, Span< char > buffer, int startingIndex=0, Casing casing=Casing.Upper)
static int FromUpperChar(int c)
static char ToCharLower(int value)
static ReadOnlySpan< byte > CharToHexLookup
static bool TryDecodeFromUtf16(ReadOnlySpan< char > chars, Span< byte > bytes)
static bool IsHexChar(int c)
static bool TryDecodeFromUtf16(ReadOnlySpan< char > chars, Span< byte > bytes, out int charsProcessed)
static int FromChar(int c)
static char ToCharUpper(int value)
static void ToBytesBuffer(byte value, Span< byte > buffer, int startingIndex=0, Casing casing=Casing.Upper)
static unsafe string ToString(ReadOnlySpan< byte > bytes, Casing casing=Casing.Upper)
static bool IsHexUpperChar(int c)