FROM : Jens Alfke
DATE : Tue May 06 17:56:38 2008
On 6 May '08, at 7:03 AM, Thomas Engelmeier wrote:
> As the OP wants to create NSStrings with data created by his
> application I'm pretty sure he will not want the the Windows
> encoding - unless he parses text documents originating from Windows.
He didn't say where the data originates from, or what those APIs are
that return the strings. If they're networking APIs, the data could
very likely have originated on Windows.
Also, you missed my point about using CP1252 (WinLatin1). It's useful
as a fallback for any unknown C strings because (a) it's a superset of
ISO-Latin-1, which (b) has no gaps in it (as ISO does, from
0x80-0x9F), so decoding text into an NSString will never fail and
return nil. (I've debugged several crashes that stemmed from nil
NSStrings decoded from garbage strings.)
> If the bytes come from MacOS text files he may want to use the
> MacRoman encoding, otherwise creating UTF8 and passing around
> NSStrings will be the way to go - especially in Europe where all
> that äöüñá goodies exist.
For the most part only old (pre-OS X) files would still be using
MacRoman. Current Mac apps generally default to UTF-8.
—Jens
DATE : Tue May 06 17:56:38 2008
On 6 May '08, at 7:03 AM, Thomas Engelmeier wrote:
> As the OP wants to create NSStrings with data created by his
> application I'm pretty sure he will not want the the Windows
> encoding - unless he parses text documents originating from Windows.
He didn't say where the data originates from, or what those APIs are
that return the strings. If they're networking APIs, the data could
very likely have originated on Windows.
Also, you missed my point about using CP1252 (WinLatin1). It's useful
as a fallback for any unknown C strings because (a) it's a superset of
ISO-Latin-1, which (b) has no gaps in it (as ISO does, from
0x80-0x9F), so decoding text into an NSString will never fail and
return nil. (I've debugged several crashes that stemmed from nil
NSStrings decoded from garbage strings.)
> If the bytes come from MacOS text files he may want to use the
> MacRoman encoding, otherwise creating UTF8 and passing around
> NSStrings will be the way to go - especially in Europe where all
> that äöüñá goodies exist.
For the most part only old (pre-OS X) files would still be using
MacRoman. Current Mac apps generally default to UTF-8.
—Jens






Cocoa mail archive

