Мне удалось найти методы, подобные -[NSString stringWithCString:encoding:]
, но они, похоже, не играют хорошо, когда cstring является указателем.Как преобразовать cstring в NSString?
ответ
Прежде всего, не используйте initWithCString
, он устарел.
Пар способов вы можете сделать это:
const *char cString = "Hello";
NSString *myNSString = [NSString stringWithUTF8String:cString];
Если вам нужны другая кодировка, как ASCII:
const *char cString = "Hello";
NSString *myNSString = [NSString stringWithCString:cString encoding:NSASCIIStringEncoding];
Если вы хотите, чтобы увидеть все струнные кодировки доступны, в Xcode, удерживайте команда + опция затем дважды щелкните по NSASCIIStringEncoding
в приведенном выше блоке кода.
Вы сможете увидеть, где Apple объявила о своем перечислении для типов кодировки строк. Бит быстрее, чем пытаться найти его в документации.
Некоторые другие из них вам может понадобиться:
NSASCIIStringEncoding
NSUnicodeStringEncoding // same as NSUTF16StringEncoding
NSUTF32StringEncoding
заказ от Apple NSString Class Reference (кодироаки в нижней части страницы)
stringWithCString:encoding:
создает NSString из данной строки C. Чтобы создать строку C из NSString, используйте либо метод UTF8String
(обычно предпочитаемый), либо cStringUsingEncoding:
(если вам нужна кодировка, отличная от UTF-8).
Поскольку метод cString устарел, этот ответ лучше, чем принятый. –
да, мой плохой, я исправил это сейчас –
С современной Objective-C (с Xcode 5, по крайней мере), вы можете просто do:
char const* cString = "Hello";
NSString *myNSString = @(cString);
- 1. Как преобразовать cstring в NSString и NSString в cstring?
- 2. Как преобразовать nsstring в cString?
- 3. Как преобразовать wParam в CString?
- 4. Как преобразовать CString в CByteArray?
- 5. как преобразовать CString в Bytes
- 6. Как преобразовать Int в CString?
- 7. преобразовать строку в cstring
- 8. NSString cString устарела. Какая альтернатива?
- 9. Преобразовать строку CString
- 10. Преобразовать CString в UINT ID
- 11. Как преобразовать CString в double в C++?
- 12. VC++: как преобразовать CString в TCHAR *
- 13. Как преобразовать CString в const char *
- 14. Как преобразовать CString в VT_ARRAY | VT_UI1
- 15. Как преобразовать NSString в CString в C++ без кода Obj-C?
- 16. Как преобразовать NSString в NSData?
- 17. Как преобразовать NSMutableArray в NSString?
- 18. Как преобразовать NSString в массив?
- 19. Как преобразовать NSData в NSString?
- 20. как преобразовать nsstring в uicolor?
- 21. Как преобразовать NSString в NSDate
- 22. Как преобразовать NSArray в NSString
- 23. Как преобразовать CFStringRef в NSString?
- 24. Как преобразовать NSString в NSDate
- 25. Как преобразовать NSNumber в NSString
- 26. Как преобразовать неуправляемый в NSString?
- 27. Как преобразовать NSString в байты
- 28. Как преобразовать NSString в NSDate?
- 29. Как преобразовать NSMutableDictionary в NSString?
- 30. как преобразовать NSString в NSDate
Они прекрасно работают с указателями, вам нужно более подробно описать проблемы, с которыми вы сталкиваетесь. – codelogic
Кроме того, * все * C струны указатели. Это определение строки C: указатель на некоторые символы. –
На самом деле, я думаю, вы говорите о преобразовании CString в NSString :) –