У меня есть список ограничений диапазона символов, которые мне нужны для проверки строки, но тип char
в .NET - это UTF-16, и поэтому некоторые символы становятся дурацкими (суррогатными) парами. Таким образом, при перечислении всех char
в string
я не получаю 32-битные кодовые точки Unicode, а некоторые сравнения с высокими значениями не работают.
Я понимаю Юникод достаточно хорошо, чтобы я мог самостоятельно разбирать байты, но я искал решение BCL С#/.NET Framework. Итак...
Как бы вы преобразовали string
в массив (int[]
) 32-разрядных кодовых точек Unicode?