-
iOS) Data encoding to utf8iOS 2020. 8. 31. 16:54
URLRequest를 통해 추출한 utf8 html data를 string으로 encoding 하는 과정에서 안될때가 있다.
EUC-KR 형식이라면 CFStringConvertEncodingToNSStringEncoding을 이용 하자.
data는 어처피 bytes
utf8로 인코딩 했을때 nil이 반환 된다면 EUC-KR인지 확인 하고, 그래도 nil이 반환 된다면 data를 utf8로 되돌린다.
func incodingHTML(_ data: Data) -> String? { var html = String(data: data, encoding: .utf8) guard html == nil else { return html } let encoding = String.Encoding(rawValue: CFStringConvertEncodingToNSStringEncoding(0x0422)) html = String(data: data, encoding: encoding) guard html == nil else { return html } html = String(decoding: data, as: UTF8.self) return html }
'iOS' 카테고리의 다른 글
iOS) Singleton View와 viewController (feat. programmers iOS 실력체크) (0) 2020.10.24 iOS) Network -ATS (0) 2020.09.24 iOS) Presentation 과 Transition 그리고 Animation... (3) (0) 2020.08.19 iOS) dismiss(animated:completion:)의 새로운 발견 (0) 2020.08.14 iOS) TableView refresh - index out of range 오류 (0) 2020.08.10