Ich spiele mit ICU und versuche, einige Klassen um es zu schreiben. Einer von ihnen repräsentiert einen Codepunkt. Während ich im Begriff bin, einen Konstruktor zu schreiben, der eine Nummer erhält, möchte ich überprüfen, ob diese Nummer als Codepunkt gültig ist.Überprüfen der Gültigkeit einer Nummer als Codepunkt in ICU
Leider konnte ich keinen Weg auf der ICU finden, um die Gültigkeit einer bestimmten UChar32 zu überprüfen, die eine Codeeinheit darstellt. ICU gibt diesen Typ in einigen Funktionen zurück und akzeptiert solche UChar32 in einigen Funktionen, aber wie kann es sicher sein, dass wir ihnen keinen ungültigen Wert geben werden?
Ich denke, es muss irgendwo eine Gültigkeitsprüfung stattfinden. Irgendeine Idee?
Warum tun Sie benötigen eine Klasse, um einen Codepunkt darzustellen? –
Sie könnten versuchen, es zu normalisieren und sehen, ob das gelingt. Es sollte für einen Nicht-Unicode-Wert fehlschlagen. –
Ich brauche die Klasse nicht auf Nachfrage, denn jetzt ist es nur eine allgemeine Klasse mit verwandten Funktionen wie u_charDigitValue, u_getNumericValue, u_charName, u_isIDStart, etc ... – csjpeter