2011-03-13 2 views
1

Dans mon application, je reçois d'un hôte distant une chaîne qui est comme ceci: "01 - \ U00ab \ U00d3 \ U00ba \ U00d2 \ U00c2 \ U00b4 \ U00d5 \ U00b7 \ U00d5 \ U00e8 \ U00a4 \ U00d2 \ U00b9 \ U00b7 \ U00cd \ U00a7 - \ U00c8 \ U00d4 \ U00c3 \ U00d4 \ U00be \ U00c3 \ U00cd \ U00d3 \ U00e4"Affichage de caractères non-romains dans une chaîne

Je sais que ceci est une chaîne en thaï. Quand j'afficher à l'aide de UILabel NSLog, il apparaît comme:

01 - «ÓºÒÂ'Õ · Õè¤Ò¹ · I§ - ÈÔÃԾà IOA

Y at-il un moyen de faire la chaîne apparaître correctement à l'aide Police thaïlandaise?

Merci,

+0

Comment convertir cette chaîne en NSString? – diederikh

+0

Je viens de le faire: NSString * str = receivedString; – RawMean

Répondre

0

ne devriez-vous utiliser quelque chose comme

+ (id)stringWithCString:(const char *)cString encoding:(NSStringEncoding)enc 

si vous savez ce que l'encodage spécifique et il n'est pas UTF8 ou

+ (id)stringWithUTF8String:(const char *)bytes 

si c'est ce c'est. Ensuite, la chaîne devrait s'afficher. Je suppose que l'hôte distant dit quelque chose sur l'encodage de la chaîne dans la réponse?

+0

J'ai essayé ce qui suit, mais il montre toujours la chaîne étrange que j'ai montré dans ma question ci-dessus: 'code' const char * cstr = [receivedString UTF8String]; \t myString = [NSString stringWithUTF8String: cstr]; – RawMean

Questions connexes