Сообщение Nitra и UTF-16 от 21.04.2016 18:23
Изменено 21.04.2016 18:28 VladD2
Встал вопрос как написать стандартное правило Any
Вариант первый: только корректные UTF-16 последовательности.
Вариант второй: корректные UTF-16 суррогаты и все остальные символы. Включая битые суррогаты и прочий мусор.
Вариант первый: только корректные UTF-16 последовательности.
regex HighSurrogates = ['\uD800'..'\uDBFF'];
regex LowSurrogates = ['\uDC00'..'\uDFFF'];
regex NonSurrogates = ['\u0000'..'\uD7FF', '\uE000'..'\uFFFD'];
regex Any = HighSurrogates LowSurrogates | NonSurrogates;
Вариант второй: корректные UTF-16 суррогаты и все остальные символы. Включая битые суррогаты и прочий мусор.
regex HighSurrogates = ['\uD800'..'\uDBFF'];
regex LowSurrogates = ['\uDC00'..'\uDFFF'];
regex Any = HighSurrogates LowSurrogates | ['\u0000'..'\uFFFF'];
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Nitra и UTF-16
Встал вопрос как написать стандартное правило Any
Вариант первый: только корректные UTF-16 последовательности.
Вариант второй: корректные UTF-16 суррогаты и все остальные символы. Включая битые суррогаты и прочий мусор.
Вариант первый: только корректные UTF-16 последовательности.
regex HighSurrogates = ['\uD800'..'\uDBFF'];
regex LowSurrogates = ['\uDC00'..'\uDFFF'];
regex NonSurrogates = ['\u0000'..'\uD7FF', '\uE000'..'\uFFFD'];
regex Any = HighSurrogates LowSurrogates | NonSurrogates;
Вариант второй: корректные UTF-16 суррогаты и все остальные символы. Включая битые суррогаты и прочий мусор.
regex HighSurrogates = ['\uD800'..'\uDBFF'];
regex LowSurrogates = ['\uDC00'..'\uDFFF'];
regex Any = HighSurrogates LowSurrogates | ['\u0000'..'\uFFFF'];
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>