Re: How to detect string encoding before reading a file in NSString?
Re: How to detect string encoding before reading a file in NSString?
- Subject: Re: How to detect string encoding before reading a file in NSString?
- From: Laurent Daudelin <email@hidden>
- Date: Wed, 27 Apr 2011 12:56:06 -0700
Thanks, John. I'll give it a shot!
-Laurent.
--
Laurent Daudelin
AIM/iChat/Skype:LaurentDaudelin http://www.nemesys-soft.com/
Logiciels Nemesys Software email@hidden
On Apr 27, 2011, at 12:35, John Pannell wrote:
> Hi Laurent-
>
> Certainly. I've zipped up two classes that wrap some functionality from the Text Conversion Manager functions. I'm certain I got these from somewhere else years ago, but failed to find them now. Download at:
>
> http://www.positivespinmedia.com/dev/TEC.zip
>
> Usage looks something like this:
>
> NSInteger i = 0;
> NSString *myResultantString = nil;
> TECSniffer *sniffer = [[TECSniffer alloc] initWithWebTextEncodings];
> NSArray *results = [sniffer sniff:yourNSDataObjectGoesHere];
> while(!myResultantString && i < [results count]){
> myResultantString = [[NSString alloc] initWithData:yourNSDataObjectGoesHere encoding:[[results objectAtIndex:i] unsignedIntValue]];
> i++;
> }
>
> // ideally, you've got a legitimate NSString object when the above is finished
>
> If memory serves, you'll need to link CoreServices into your app to use TEC. Hope this helps!
>
> John
>
>
> On Apr 27, 2011, at 1:18 PM, Laurent Daudelin wrote:
>
>> John,
>>
>> Not sure if you read my last email on the topic but using the NSAttributedString initWithURL:encoding:documentAttributes: is failing. I have read a bit about the Text Conversion Manager but if you had already some code you could share, that would spare me reinventing the wheel!
>>
>> Thanks in advance!
>>
>> -Laurent.
>>
>> On Apr 26, 2011, at 12:39, John Pannell wrote:
>>
>>> Hi Laurent-
>>>
>>> I have an app that collects a lot of text off the web; my string creation algorithm is something like the following:
>>>
>>> 1. Attempt to create an NSString with NSUTF8StringEncoding.
>>> 2. If the string is nil, attempt to create the string using the encoding returned from the server.
>>> 3. If string is still nil, ask the Text Encoding Conversion Manager to sniff out the encoding from the data.
>>> 3a. This returns an array of likely encodings. For each item in the array:
>>> 3b. Attempt to create a string with the encoding.
>>>
>>> There was a little too much code associated with this to copy/paste into email, but I'd be happy to share... I have a wrapper object for the needed interaction with the Text Encoding Conversion Manager. Some more about it:
>>>
>>> http://developer.apple.com/library/mac/#documentation/Carbon/Reference/Text_Encodin_sion_Manager/Reference/reference.html#//apple_ref/doc/uid/TP30000123
>>>
>
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden