Mi chiedo quale metodo sarebbe meglio per convertire const char * stringa di NSString.
Ho trovato che ci sono alcuni fatti.Convert const char * stringa di NSString con la lunghezza e la codifica
- [NSString stringWithCString: length:] è un po 'deprecato.
- [NSString stringWithCString: encoding] può essere utilizzato per il mio scopo
Ma voglio convertire con la lunghezza e la codifica (perché voglio fare che bene se ho un po 'di carattere non-ASCII impostando codifica UTF-8). qualche idea?
Penso solo che ora
- creare altri char e copia con la lunghezza utilizzando std :: strncpy (CH1, CH2, len)
- uso [NSString stringWithCString: encoding:]
Ma non funziona bene.
Questo funziona solo se la stringa è ASCII, però. Se la tua stringa è qualcos'altro (es. MacRoman o ISO Latin), nel migliore dei casi si ottiene il glifo errato visualizzato per un determinato carattere, nella peggiore delle ipotesi si ottiene una stringa NIL perché si è verificato un errore nella generazione di byte che non 't mappare su un carattere UTF8 valido (Sì, è possibile. UTF8 codifica più di 256 caratteri diversi, quindi ci sono sequenze multi-byte che codificano un carattere, e alcune di queste non sono ancora valide .. – uliwitness
Molto utile Grazie – vgonisanz