0x0422
웹서버가 보낼때 euc-kr로 보내는데
ios에서 NSString으로 못받아온다.
NSString(data:data, encoding: NSUtf8StringEncoding)
이거로가져오면 디코딩이 안된다.
그래서 삽질하기를 수시간.
Reference를 보니 NSStringEncoding은 기존 CFString Encoding type으로 대체가 가능하다고 한다.
CFStringConvertEncodingToNSStringEncoding()이란 함수를 찾았다.
SWIFT
func CFStringConvertEncodingToNSStringEncoding( _ encoding: CFStringEncoding) -> UInt
https://developer.apple.com/library/ios/documentation/CoreFoundation/Reference/CFStringRef/#//apple_ref/c/tdef/CFStringEncoding
여기서 대충 CFString에서 기본으로 지원하던 인코딩들을 볼수있고
https://developer.apple.com/library/ios/documentation/CoreFoundation/Reference/CFStringRef/#//apple_ref/doc/constant_group/External_String_Encodings
여기서 External 인코딩들을 볼수있다.
코리안은 총 두개가 보이는데
kCFStringEncodingMacKorean = 3,
kCFStringEncodingDOSKorean = 0x0422,
요래 두개가 보인다.
위에거는 3을 써도 안되길래 아래 0x0422를 넣으니 성공
우왕 퇴근
'IT > Android iOS' 카테고리의 다른 글
Node.js를 이용한 APNS+FCM 푸시서버 만들기 (0) | 2017.01.23 |
---|---|
[iOS/Swift]네이버 아이디로 로그인 붙이기 (6) | 2015.08.24 |
how to decode EUC-KR to NSString (0) | 2015.05.06 |
Stanford 키다리 흰머리아저씨의 Swift (1-3) (0) | 2015.04.30 |
액티비티 - 뷰 -> 액티비티 - 프래그먼트 - 뷰 (펌) (0) | 2015.02.13 |