Ricevo una stringa da un'API che contiene tag di ancoraggio, quindi sto creando un NSAttributedString
da esso e lo visualizzo in un UITextView
così posso supportare i collegamenti toccabili.Converti NSString con caratteri unicode in HTML valido
Il problema è che la stringa in ingresso non è un codice HTML valido, quindi contiene caratteri unicode senza caratteri di escape. Cose come:
- ORIZZONTALE ELLIPSIS Unicode U + 2026, UTF-8: E2 80 A6
- EM DASH Unicode U + 2014, UTF-8: E2 80 94
Mentre potrei occuparmi di quei casi specifici, sono preoccupato per qualsiasi altro personaggio unicode che arriva, di cui attualmente non sono a conoscenza.
Esempio:
NSString *fromAPI = @"Reagan \U2014 saying";
NSDictionary *options = @{NSDocumentTypeDocumentAttribute : NSHTMLTextDocumentType};
NSData *data = [fromAPI dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:NO];
NSAttributedString *attributedString = [[NSAttributedString alloc] initWithData:data options:options documentAttributes:nil error:nil];
Ciò rende nel UITextView come:
Come faccio a farlo per rendere il trattino em e altri unicode correttamente?
Quindi si desidera poter visualizzare i caratteri unicode effettivi in generale senza averli convertiti in qualcos'altro? – Neeku