He podido encontrar métodos como -[NSString stringWithCString:encoding:]
pero no parecen funcionar bien cuando la cstring es un puntero.¿Cómo se convierte cstring a NSString?
Respuesta
En primer lugar, no use initWithCString
, ha quedado en desuso.
par de maneras que usted puede hacer esto:
const *char cString = "Hello";
NSString *myNSString = [NSString stringWithUTF8String:cString];
Si necesita otro sistema de codificación como ASCII:
const *char cString = "Hello";
NSString *myNSString = [NSString stringWithCString:cString encoding:NSASCIIStringEncoding];
Si quieres ver todas las codificaciones de cadena disponibles, en Xcode, mantenga comando + opción luego haga doble clic en en NSASCIIStringEncoding
en el bloque de código anterior.
Podrá ver dónde Apple ha declarado su enumeración para los tipos de codificación de cadenas. Un poco más rápido que tratar de encontrarlo en la documentación.
algunos otros que pueda necesitar:
NSASCIIStringEncoding
NSUnicodeStringEncoding // same as NSUTF16StringEncoding
NSUTF32StringEncoding
Pedido NSString Class Reference de Apple (codificaciones están en la parte inferior de la página)
stringWithCString:encoding:
crea un NSString a partir de una cadena C dada. Para crear una cadena C desde un NSString, use el método UTF8String
(generalmente preferido) o cStringUsingEncoding:
(si necesita una codificación que no sea UTF-8).
Como el método cString está en desuso, esta respuesta es mejor que la aceptada. –
sí, mi mal, lo he arreglado ahora –
Con moderna Objective-C (desde Xcode 5 por lo menos) que sólo puede do:
char const* cString = "Hello";
NSString *myNSString = @(cString);
- 1. Cómo convertir nsstring a cString?
- 2. ¿Convierte NSString a NSInteger?
- 3. Convierte de char * a NSString?
- 4. ¿Convierte CString en matriz de caracteres?
- 5. ¿Convierte NSTimeInterval a NSString en iPhone?
- 6. NSString cString está obsoleto. ¿Cuál es la alternativa?
- 7. ¿Cómo se convierte un NSUInteger en un NSString?
- 8. CString a conversión LPCTSTR
- 9. CString a char *
- 10. ¿Cómo se convierte LPCWSTR a const char *?
- 11. ¿Cómo se convierte una fracción a binaria?
- 12. ¿Cómo puedo convertir un int a un CString?
- 13. Convertir MFC CString a entero
- 14. Convertir CString a std :: wstring
- 15. ¿Cómo convertir NSString a C string?
- 16. ¿Cómo convierto de NSString a NSDate?
- 17. Cómo agregar un NSString a otro NSString
- 18. ¿Cómo se puede pasar CString para formatear la cadena% s?
- 19. NSArray a NSString en Objective-C
- 20. Cómo convertir NSUrl a NSString?
- 21. Mysql se convierte en '?
- 22. Cómo convertir NSDate a NSString?
- 23. Cómo convertir NSNumber a NSString
- 24. Cómo convertir a NSString bytes
- 25. cómo convertir nsstring a uicolor?
- 26. Cómo convertir CFStringRef a NSString?
- 27. Cómo convertir NSData a NSString?
- 28. ¿Cómo se convierte hexadecimal a decimal usando VB.NET?
- 29. ¿Cómo se convierte una cadena de C++ a un int?
- 30. ¿Cómo convierto un CString a un doble en C++?
Funcionan perfectamente bien con los punteros, debe ser más descriptivo sobre los problemas que enfrenta. – codelogic
Además, * todas las cadenas * C son punteros. Esa es la definición de una cadena C: un puntero a algunos caracteres. –
En realidad, creo que está hablando de convertir CString a NSString :) –