我已經看到了將unichar轉換爲NSString的stackoverflow中的問題,但現在我想做相反的事情。將NSString轉換爲iOS中的unichar
我該怎麼做?
需要一些指導..謝謝
例如,我有一個字符串數組:[@"o",@"p",@"q"];
這些字符串內。我如何將它轉換回unichar?
我已經看到了將unichar轉換爲NSString的stackoverflow中的問題,但現在我想做相反的事情。將NSString轉換爲iOS中的unichar
我該怎麼做?
需要一些指導..謝謝
例如,我有一個字符串數組:[@"o",@"p",@"q"];
這些字符串內。我如何將它轉換回unichar?
下面將工作,只要在第一個字符不是實際上是兩個字符組成(換句話說,只要該字符不具有Unicode值大於\ UFFFF更大):
unichar ch = [someString characterAtIndex:0];
你可以將它轉換成緩衝區:NSData
:
if ([string canBeConvertedToEncoding:NSUnicodeStringEncoding]) {
NSData * data = [string dataUsingEncoding:NSUnicodeStringEncoding];
const unichar* const ptr = (const unichar*)data.bytes;
...
}
這是否產生一個不同的結果,而不僅僅是鑄造返回值' [字符串cStringUsingEncoding:NSUnicodeStringEncoding]'? – 2013-03-06 17:48:18
@SeamusCampbell「NSData」變體未終止 – justin 2013-03-06 17:57:13
你的意思是一個'unichar'數組? 'NSString'上有一個方法可以做到這一點。 – 2013-03-06 17:38:16
[這個問題]可能的重複(http://stackoverflow.com/questions/1354388/unichar-and-nsstring-how-interchangeable-are-these) – bdesham 2013-03-06 17:39:08