Re: Normalising file names on macOS
Re: Normalising file names on macOS
- Subject: Re: Normalising file names on macOS
- From: Ken Thomases <email@hidden>
- Date: Thu, 22 Sep 2016 10:30:41 -0500
On Sep 22, 2016, at 6:04 AM, John Brownie <email@hidden> wrote:
>
> I find that I am in need of dealing with versions of strings that may be turned into file names, and thus I need to be comparing normalised forms. However, according to https://developer.apple.com/library/content/qa/qa1173/_index.html, "For example, HFS Plus (Mac OS Extended) uses a variant of Normal Form D in which U+2000 through U+2FFF, U+F900 through U+FAFF, and U+2F800 through U+2FAFF are not decomposed (this avoids problems with round trip conversions from old Mac text encodings)."
>
> Is there a way to get at this variant? [NSString decomposedStringWithCanonicalMapping] returns "A string made by normalizing the string’s contents using the Unicode Normalization Form D." That seems not to give what I need, but I haven't seen a better option. Is there such a method?
Without undermining Alastair's recommendations, you can achieve what you want by round-tripping the string through -[NSString fileSystemRepresentation] and -[NSFileManager stringWithFileSystemRepresentation:length:]. That handles the normalization, but it doesn't do anything about characters that aren't legal in file names on a given file system.
Regards,
Ken
_______________________________________________
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