當我的NSString轉換爲NSData的,後我得到一個零結果的NSString NSData的返回nil
NSString * test = @"Wft0r3qkzXd5TDBeCahUB3MtHuc8Axwr";
NSData * testData = [test dataUsingEncoding:NSUTF8StringEncoding];
NSString * result = [NSString stringWithUTF8String:[testData bytes]];
出
Printing description of testData:
<57667430 7233716b 7a586435 54444265 43616855 42334d74 48756338 41787772>
Printing description of result:
<nil>
是不是一樣的stringWithUTF8String? – 2014-10-20 17:25:32
不,stringWithUTF8String需要const char *作爲它的輸入參數(A C UTF8編碼字節數組): ' - (instancetype)initWithUTF8String:(const char *)bytes'我不相信NSData。無論如何,你有什麼理由想在'initWithData:encoding:'方法之上使用'stringWithUTF8String'嗎? :)對我來說,就像他們被設計成一起工作;) – simonthumper 2014-10-20 17:29:38
DAMMIT這是如此怪異的誤導,他們應該命名它stringWithUTF8CString – 2014-10-20 17:31:32