19 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
20 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
21 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
22 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
23 255, 255, 255, 255, 255, 255, 255, 255, 0, 1,
24 2, 3, 4, 5, 6, 7, 8, 9, 255, 255,
25 255, 255, 255, 255, 255, 10, 11, 12, 13, 14,
26 15, 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, 10, 11, 12,
29 13, 14, 15, 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, 255, 255, 255, 255,
41 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
42 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
43 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
44 255, 255, 255, 255, 255, 255
50 uint num = (uint)(((
value & 0xF0) << 4) + (
value & 0xF) - 35209);
51 uint num2 = ((((0 - num) & 0x7070) >> 4) + num + 47545) | (uint)casing;
52 buffer[startingIndex + 1] = (byte)num2;
53 buffer[startingIndex] = (byte)(num2 >> 8);
59 uint num = (uint)(((
value & 0xF0) << 4) + (
value & 0xF) - 35209);
60 uint num2 = ((((0 - num) & 0x7070) >> 4) + num + 47545) | (uint)casing;
61 buffer[startingIndex + 1] = (char)(num2 & 0xFFu);
62 buffer[startingIndex] = (char)(num2 >> 8);
68 Vector128<byte> mask =
Vector128.
Create(
byte.MaxValue,
byte.MaxValue, 0,
byte.MaxValue,
byte.MaxValue,
byte.MaxValue, 1,
byte.MaxValue,
byte.MaxValue,
byte.MaxValue, 2,
byte.MaxValue,
byte.MaxValue,
byte.MaxValue, 3,
byte.MaxValue);
69 Vector128<byte> value = ((casing ==
Casing.Upper) ?
Vector128.
Create((
byte)48, (byte)49, (
byte)50, (byte)51, (
byte)52, (byte)53, (
byte)54, (byte)55, (
byte)56, (byte)57, (
byte)65, (byte)66, (
byte)67, (byte)68, (
byte)69, (byte)70) :
Vector128.
Create((
byte)48, (byte)49, (
byte)50, (byte)51, (
byte)52, (byte)53, (
byte)54, (byte)55, (
byte)56, (byte)57, (
byte)97, (byte)98, (
byte)99, (byte)100, (
byte)101, (byte)102));
81 while (num <
bytes.Length - 3);
82 for (; num <
bytes.Length; num++)
95 for (
int i = 0; i <
bytes.Length; i++)
103 fixed (
byte* ptr =
bytes)
149 while (num2 <
bytes.Length)
153 if ((num3 | num4) == 255)
157 bytes[num2++] = (byte)((num4 << 4) | num3);
164 charsProcessed = num;
165 return (num3 | num4) != 255;
182 ulong num = (uint)(c - 48);
183 ulong num2 = (ulong)(-17875860044349952
L << (
int)num);
184 ulong num3 = num - 64;
185 if ((
long)(num2 & num3) >= 0
L)
static void EncodeToUtf16(ReadOnlySpan< byte > bytes, Span< char > chars, Casing casing=Casing.Upper)
static void ToCharsBuffer(byte value, Span< char > buffer, int startingIndex=0, Casing casing=Casing.Upper)
static char ToCharLower(int value)
static ReadOnlySpan< byte > CharToHexLookup
static bool TryDecodeFromUtf16(ReadOnlySpan< char > chars, Span< byte > bytes)
static void EncodeToUtf16_Ssse3(ReadOnlySpan< byte > bytes, Span< char > chars, Casing casing)
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 Vector128< byte > Create(byte value)
static unsafe Vector128< byte > CreateScalarUnsafe(byte value)
static Vector128< sbyte > ShiftRightLogical128BitLane(Vector128< sbyte > value, byte numBytes)
static Vector128< byte > Or(Vector128< byte > left, Vector128< byte > right)
static Vector128< byte > And(Vector128< byte > left, Vector128< byte > right)
static Vector128< short > ShiftRightLogical(Vector128< short > value, Vector128< short > count)
static Vector128< sbyte > Shuffle(Vector128< sbyte > value, Vector128< sbyte > mask)
static new bool IsSupported