Ermitteln von Unicode-Zeichen in NSString auf dem iPhone

8

Ich arbeite an einer SMS-Anwendung für das iPhone. Ich muss feststellen, ob der Benutzer Unicode-Zeichen innerhalb des NSString eingegeben hat, den er senden möchte.

Ich muss das tun, weil Unicode-Zeichen mehr Platz in der Nachricht benötigen, und auch, weil ich sie in ihre hexadezimalen Äquivalente konvertieren muss.

Also meine Frage ist, wie erkenne ich das Vorhandensein eines Unicode-Zeichens in einem NSString (die ich von einem UITextView gelesen habe). Wie konvertiere ich diese Zeichen dann in ihre hexadezimalen UCS-2-Entsprechungen?

z. B. 7 = 7E41, 体 = 4F53, 中 = 4E2D, 文 = 6587

    
Fin 10.11.2009, 09:27
quelle

2 Antworten

25

Um nach nur ASCII-Zeichen (oder einer anderen Kodierung Ihrer Wahl) zu suchen, verwenden Sie:

[myString canBeConvertedToEncoding: NSASCIIStringEncoding];

Es wird NO zurückgegeben, wenn die Zeichenfolge nicht-ASCII-Zeichen enthält. Sie können die Zeichenfolge dann in UCS-2-Daten konvertieren mit:

[myString dataUsingEncoding: NSUTF16BigEndianStringEncoding];

oder NSUTF16LittleEndianStringEncoding abhängig von Ihrer Plattform. Es gibt geringfügige Unterschiede zwischen UCS-2 und UTF-16. UTF-16 hat UCS-2 abgelöst. Sie können über die Unterschiede hier nachlesen:

Ссылка

    
Jeremy Bower 10.11.2009, 14:24
quelle
0

Ich konnte das nicht zur Arbeit bringen.

Ich habe eine HTML-Zeichenfolge mit   NON BREAKING SPACE

%Vor%

Ich habe versucht, drei Arten von encode / decode

%Vor%

keiner von diesen hat funktioniert. Sie schienen zu arbeiten, als ob ich NSLog die Zeichenfolge es sieht gut aus

%Vor%

Welcher Ausgang

%Vor%

aber ich habe diese zufällig in einem NSArray gespeichert und ich habe zufällig [stringArray description] aufgerufen und die ganze Unicode war immer noch da drin

%Vor%

So etwas in NSLog verbirgt   , aber es zeigt sich in NSArray Beschreibung, so dass Sie denken, Sie haben das Unicode entfernt, wenn Sie nicht haben.

Wird eine andere Methode versuchen, die die Zeichen ersetzt.

    
brian.clear 07.11.2010 15:40
quelle

Tags und Links