FSPathMakeRef did not work - which drove me to find some other way such an 
NSString->CFURL->FSRef. Reading the string in from a file as an NSString does 
however work for making the original path string without magling the characters 
- reading the same string from the same file as a CFStringRef however does not 
work - the special characters get mangled.

Erg




________________________________
From: Ken Thomases <k...@codeweavers.com>
To: Erg Consultant <erg_consult...@yahoo.com>
Cc: cocoa-dev@lists.apple.com
Sent: Saturday, April 25, 2009 6:12:33 PM
Subject: Re: Why is NSString->FSRef so hard?

On Apr 25, 2009, at 8:03 PM, Erg Consultant wrote:

> On Apr 25, 2009, at 7:48 PM, Stephen J. Butler wrote:
> 
>> On Sat, Apr 25, 2009 at 7:28 PM, Erg Consultant
>> <erg_consult...@yahoo.com> wrote:
>>> I was using CFURLGetFSRef passing in the NSString which works fine as long 
>>> as the path contains no special chars. If it does, CFURLGetFSRef returns 
>>> nil.
>> 
>> CFURLGetFSRef is great if what you have originally is a CF/NSURL. But
>> if you just have an NSString, you might as well use FSPathMakeRef with
>> [aString fileSystemRepresentation]. No reason to create an
>> intermediary NSURL.

> When I do that, the conversion from NSString to const UInt8 * path mangles 
> the special characters in the path.

What do you mean mangles?  I suspect you're misinterpreting "encodes" as 
mangles.  Asking a file path string for its -fileSystemRepresentation is asking 
it to encode the string into the form expected by various APIs which take file 
paths in C strings (of 8-bit characters).  Of course this won't look like the 
original Unicode string contents; Unicode can't fit into 8-bit characters 
without being encoded somehow.

But the question is, why do you care?  Did FSPathMakeRef work, when passed such 
a string?  It should, which is all you're interested in.

Regards,
Ken


      
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to