Является ли 2C10 действительным символом UTF-8? - PullRequest
1 голос
/ 12 мая 2011

Я запускаю XML через анализатор SAX и заметил, что анализатор не работает правильно с определенными символами в качестве содержимого данных.Предполагается, что XML находится в кодировке UTF-8, а анализатор SAX настроен на обработку этой кодировки.

Сужение проблемных строк и просмотр XML-файла в шестнадцатеричном редакторе. Я вижу, например, что 2C10 вызываетпроблема, если я вместо этого изменю это на C2A2 (пример символа, данный в википедии), тогда парсер SAX работает.Так 2C10 не является действительным символом UTF8?

Ответы [ 2 ]

1 голос
/ 12 мая 2011

На странице UTF-8 в Википедии подразумевается, что 2C10 следует интерпретировать как ,, за которым следует управляющий код DLE (по-видимому, экранирование канала данных).Контрольный символ, появляющийся за пределами блока CDATA в XML, может показаться неуместным!

0 голосов
/ 12 мая 2011

U + 2C10 равно GLAGOLITIC CAPITAL LETTER NASHI. Вот его свойства:

U+2C10 ‹Ⱀ› \N{GLAGOLITIC CAPITAL LETTER NASHI}
\w \pL \p{LC} \p{L_} \p{L&} \p{Lu}
All Any Alnum Alpha Alphabetic Assigned InGlagolitic Glagolitic
   Is_Glagolitic Cased Cased_Letter LC Changes_When_Casefolded
   CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased
   CWL Changes_When_NFKC_Casefolded CWKCF Lu L Glag Gr_Base
   Grapheme_Base Graph GrBase ID_Continue IDC ID_Start IDS
   Letter L_ Uppercase_Letter Print Upper Uppercase Word
   XID_Continue XIDC XID_Start XIDS X_POSIX_Alnum X_POSIX_Alpha
   X_POSIX_Graph X_POSIX_Print X_POSIX_Upper X_POSIX_Word
Age=4.1 Bidi_Class=L Bidi_Class=Left_To_Right BC=L
   Block=Glagolitic Canonical_Combining_Class=0
   Canonical_Combining_Class=Not_Reordered CCC=NR
   Canonical_Combining_Class=NR General_Category=Cased_Letter
   Decomposition_Type=None DT=None East_Asian_Width=Neutral
   GC=LC General_Category=L General_Category=Letter
   General_Category=L_ General_Category=LC GC=L
   General_Category=Lu General_Category=Uppercase_Letter GC=Lu
   Script=Glagolitic Grapheme_Cluster_Break=Other GCB=XX
   Grapheme_Cluster_Break=XX Hangul_Syllable_Type=NA
   Hangul_Syllable_Type=Not_Applicable HST=NA
   Joining_Group=No_Joining_Group JG=NoJoiningGroup
   Joining_Type=Non_Joining JT=U Joining_Type=U Line_Break=AL
   Line_Break=Alphabetic LB=AL Numeric_Type=None NT=None
   Numeric_Value=NaN NV=NaN Present_In=4.1 IN=4.1
   Present_In=5.0 IN=5.0 Present_In=5.1 IN=5.1 Present_In=5.2
   IN=5.2 Present_In=6.0 IN=6.0 Script=Glag SC=Glag
   Sentence_Break=UP Sentence_Break=Upper SB=UP
   Word_Break=ALetter WB=LE Word_Break=LE _X_Begin
...