เอกสารสำหรับNSString
กล่าวว่า
https://developer.apple.com/documentation/foundation/nsstring/1416374-initwithdata
ส่งกลับค่าอ็อบเจ็กต์ NSString เริ่มต้นโดยการแปลงไบต์ในข้อมูลเป็นอักขระ Unicode โดยใช้การเข้ารหัส วัตถุที่ส่งคืนอาจแตกต่างจากเครื่องรับเดิม ส่งคืนค่า nil หากการเริ่มต้นล้มเหลวด้วยเหตุผลบางประการ (ตัวอย่างเช่นหากข้อมูลไม่ได้แสดงถึงข้อมูลที่ถูกต้องสำหรับการเข้ารหัส)
คุณควรลองเข้ารหัสอื่น ๆ เพื่อตรวจสอบว่าสามารถแก้ปัญหาของคุณได้หรือไม่
enum {
NSASCIIStringEncoding = 1,
NSNEXTSTEPStringEncoding = 2,
NSJapaneseEUCStringEncoding = 3,
NSUTF8StringEncoding = 4,
NSISOLatin1StringEncoding = 5,
NSSymbolStringEncoding = 6,
NSNonLossyASCIIStringEncoding = 7,
NSShiftJISStringEncoding = 8,
NSISOLatin2StringEncoding = 9,
NSUnicodeStringEncoding = 10,
NSWindowsCP1251StringEncoding = 11,
NSWindowsCP1252StringEncoding = 12,
NSWindowsCP1253StringEncoding = 13,
NSWindowsCP1254StringEncoding = 14,
NSWindowsCP1250StringEncoding = 15,
NSISO2022JPStringEncoding = 21,
NSMacOSRomanStringEncoding = 30,
NSUTF16StringEncoding = NSUnicodeStringEncoding,
NSUTF16BigEndianStringEncoding = 0x90000100,
NSUTF16LittleEndianStringEncoding = 0x94000100,
NSUTF32StringEncoding = 0x8c000100,
NSUTF32BigEndianStringEncoding = 0x98000100,
NSUTF32LittleEndianStringEncoding = 0x9c000100,
NSProprietaryStringEncoding = 65536
};