21 internal static bool CheckIriUnicodeRange(
char highSurr,
char lowSurr, out
bool isSurrogatePair,
bool isQuery)
25 isSurrogatePair =
true;
26 if ((result.Value & 0xFFFF) < 65534 && (uint)(result.Value - 917504) >= 4096u)
30 return result.Value < 983040;
36 isSurrogatePair =
false;
58 return value < 983040;
68 return value - min <= max - min;
81 return ";/?:@&=+$,#[]!'()*".Contains(
ch);
86 int num = end -
start;
90 Span<char> initialBuffer = stackalloc
char[512];
99 for (
int i =
start; i < end; i++)
113 else if (c <=
'\u007f')
129 else if (c >
'\u007f')
131 bool isSurrogatePair =
false;
134 if (
char.IsHighSurrogate(c) && i + 1 < end)
156 result =
new Rune(c, c2);
164 for (
int j = 0; j < span2.
Length; j++)
static bool IsInInclusiveRange(uint value, uint min, uint max)
static bool CheckIriUnicodeRange(char highSurr, char lowSurr, out bool isSurrogatePair, bool isQuery)
static unsafe string EscapeUnescapeIri(char *pInput, int start, int end, UriComponents component)
static bool CheckIsReserved(char ch, UriComponents component)
static bool CheckIriUnicodeRange(uint value, bool isQuery)
static bool CheckIriUnicodeRange(char unicode, bool isQuery)
static unsafe int UnescapePercentEncodedUTF8Sequence(char *input, int length, ref System.Text.ValueStringBuilder dest, bool isQuery, bool iriParsing)
static bool IsNotSafeForUnescape(char ch)
static void EscapeAsciiChar(byte b, ref System.Text.ValueStringBuilder to)
static bool IsGenDelim(char ch)
static char DecodeHexChars(int first, int second)
static Rune ReplacementChar
static bool TryCreate(char ch, out Rune result)
int EncodeToUtf8(Span< byte > destination)
override string ToString()