Эти несимволы предназначены для внутреннего использования приложением и не должны заменяться местами.
Я попытался объяснить, основываясь на том, что сказано в стандарте Unicode.
Юникод получил 66 несимволов. Для всех 17 плоскостей у них есть две последние две кодовые точки плоскости, оканчивающиеся на FFFE FFFF. 32 других символа без символов представляют собой непрерывный блок от U+FDD0 до U+FDEF.
Итак, общий счет
17*2 + 32 = 66
Прочитайте следующий текст из главы 16 юникода, в котором говорится, что он находится в каком-то случайном месте из-за «исторической причины», мне любопытно, но я не думаю, что есть какая-то двусмысленность.
По историческим причинам диапазон U+FDD0..U+FDEF содержится в блоке арабских форм представления-A, но эти несимволы не являются «арабскими несимволами» или «несимволами, написанными справа налево», и не различаются ни в одном из них. иначе, чем другие несимволы, за исключением их значений кодовой точки
U+FEFF
— это спецификация, а U+FFFE
— ее версия с заменой байтов. Но поскольку U+FFFE
не является символом, когда процесс интерпретации находит U+FFFE в качестве первого символа, это сигнализирует либо о том, что процесс столкнулся с текстом с неправильным порядком байтов, либо о том, что файл не является допустимым текстом Unicode. Он просто дает сигнал, а не стандартный способ. Это может быть либо один, либо обратные байты, либо неверный текст.
В Unicode раздел 3.2 пункт C2 говорит
C2 Процесс не должен интерпретировать несимвольную кодовую точку как абстрактный символ.
- Несимвольные кодовые точки могут использоваться внутри, например, для контрольных значений или разделителей, но не должны обмениваться публично.
Поэтому, как разработчики приложений, вы можете использовать эти символы по своему усмотрению. Они используются в качестве часового или разделителя или могут быть некоторыми базовыми символами, но их нельзя менять местами.
Раздел 16.7 говорит
По сути, несимволы можно рассматривать как внутренние кодовые точки приложения для частного использования. В отличие от символов частного использования, описанных в Разделе 16.5, символы частного использования, которые являются назначенными символами и предназначены для использования в открытом обмене, подлежащем интерпретации по частному соглашению, несимволы постоянно зарезервированы (не назначены) и не имеют никакой интерпретации за пределами их возможного частного использования внутри приложения
Опять же, U + FFFF не зарезервирован как дозорный стандартом Unicode, а просто задан типичный вариант использования. Читайте в разделе 16.7.
U+FFFF и U+10FFFF. Эти две несимвольные кодовые точки связаны с наибольшими значениями кодовых единиц для определенных форм кодировки Unicode. В UTF-16 U+FFFF связан с наибольшим значением 16-битной кодовой единицы, FFFF16 U+10FFFF связан с наибольшим допустимым значением 32-битной кодовой единицы UTF-32, 10FFFF< sub>16 Этот атрибут делает эти две несимвольные кодовые точки полезными для внутренних целей в качестве часовых. Например, их можно использовать для обозначения конца списка, для представления значения в индексе, которое гарантированно будет выше, чем любое допустимое символьное значение, и т. д.
person
Zimbabao
schedule
05.03.2011