我已經能夠找到像-[NSString stringWithCString:encoding:]
這樣的方法,但是當cstring是一個指針時它們看起來不太好。如何將cstring轉換爲NSString?
21
A
回答
35
首先,不要使用initWithCString
,它已被棄用。
的方法可以做到這對夫妻:如果您需要另一個編碼像ASCII
const *char cString = "Hello";
NSString *myNSString = [NSString stringWithUTF8String:cString];
:如果你想看到的所有字符串編碼可用,在Xcode
const *char cString = "Hello";
NSString *myNSString = [NSString stringWithCString:cString encoding:NSASCIIStringEncoding];
,持有命令+選項然後雙擊在NSASCIIStringEncoding
上面的代碼塊中。
您將能夠看到蘋果在哪裏聲明瞭字符串編碼類型的枚舉。比試圖在文檔中找到它快。
一些其他那些你可能需要:
NSASCIIStringEncoding
NSUnicodeStringEncoding // same as NSUTF16StringEncoding
NSUTF32StringEncoding
結帳蘋果NSString Class Reference(編碼是在頁面的底部)
10
stringWithCString:encoding:
根據給定的C字符串創建一個NSString。要從NSString創建C字符串,請使用UTF8String
方法(通常爲首選)或cStringUsingEncoding:
(如果需要UTF-8以外的編碼)。
15
隨着現代的Objective-C(因爲Xcode的5至少)你可以做:
char const* cString = "Hello";
NSString *myNSString = @(cString);
相關問題
- 1. 如何將cstring轉換爲NSString和NSString爲cstring?
- 2. 如何將nsstring轉換爲cString?
- 3. 轉換CString轉化成NSUTF16encoded的NSString
- 4. 如何將一個void *轉換爲CString
- 5. 如何將CString轉換爲字節?
- 6. 如何將CString轉換爲CTime在c + +?
- 7. 如何將CString轉換爲const char *?
- 8. 如何將CString轉換爲CByteArray?
- 9. vC++ - 如何將CString轉換爲LPCWSTR
- 10. 如何將LPARAM lParam轉換爲CString
- 11. 如何將CString轉換爲VT_ARRAY | VT_UI1
- 12. 如何將Int轉換爲CString?
- 13. MFC - 如何將WCHAR轉換爲CString?
- 14. 如何將CString轉換爲ofstream?
- 15. 如何將CString轉換爲UCHAR數組?
- 16. 如何將_bstr_t轉換爲CString
- 17. BSTR轉換爲CString的CString
- 18. 將long double轉換爲CString
- 19. 將寬CString轉換爲char *
- 20. 將Wstring轉換爲CString
- 21. 將COleVariant轉換爲CString
- 22. 將CString轉換爲std :: wstring
- 23. 如何將NSData轉換爲NSString並將NSString恢復爲NSData?
- 24. 如何將NSData轉換爲NSString?
- 25. 如何將NSMutableData轉換爲NSString?
- 26. 如何將此NSData轉換爲NSString?
- 27. 如何將NSString轉換爲char?
- 28. 如何將NSString *轉換爲ANTLR3_UINT8或ANTLR3_UINT16
- 29. 如何將NSMutableArray轉換爲NSString?
- 30. 如何將NSObject從NSDictionary轉換爲NSString?
他們工作完全正確的指針,你需要更多描述你面臨的問題。 – codelogic 2009-02-04 01:20:25
此外,*所有* C字符串都是指針。這是C字符串的定義:指向某些字符的指針。 – 2009-02-04 02:22:32
其實我認爲你正在討論將CString轉換爲NSString :) – 2010-01-08 14:44:33