Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Convert NSData webpage with unknown encoding to NSString

In my app the user can save web pages. After a request, I do:

NSString(data:responseData, encoding: NSUTF8StringEncoding)

to convert my NSData response to NSString. But some pages have a NSWindowsCP1251StringEncoding encoding, or something else, and the function returns nil.

How can I detect the encoding?

like image 200
Arti Avatar asked May 01 '26 23:05

Arti


1 Answers

Ok, i solved this like:

var pageEncoding = NSUTF8StringEncoding
if responseHeaderFields["Content-Type"] == "text/html;charset=ISO-8859-1" {
   pageEncoding = NSISOLatin1StringEncoding
}
if responseHeaderFields["Content-Type"] == "text/html;charset=windows-1251" {
    pageEncoding = NSWindowsCP1251StringEncoding
}
like image 78
Arti Avatar answered May 03 '26 15:05

Arti