Skip to content

Instantly share code, notes, and snippets.

@sammoore
Created July 29, 2016 20:53
Show Gist options
  • Save sammoore/c7df00a788e8525e8af159f7eeefda9b to your computer and use it in GitHub Desktop.
Save sammoore/c7df00a788e8525e8af159f7eeefda9b to your computer and use it in GitHub Desktop.
Conversion helpers when handling IANACharSets.
extension NSString {
static func ConvertIANACharSetNameToEncoding(name: String) -> NSStringEncoding? {
let cf_encoding = CFStringConvertIANACharSetNameToEncoding(name)
guard cf_encoding != kCFStringEncodingInvalidId else {
return nil
}
return CFStringConvertEncodingToNSStringEncoding(cf_encoding)
}
}
extension NSURLResponse {
static var DefaultStringEncoding: NSStringEncoding { return NSUTF8StringEncoding }
var suggestedEncoding: NSStringEncoding {
get {
guard let
name = self.textEncodingName,
encoding = NSString.ConvertIANACharSetNameToEncoding(name)
else {
return NSURLResponse.DefaultStringEncoding
}
return encoding
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment