Re: Converting *u unicode hex sequences
Re: Converting *u unicode hex sequences
- Subject: Re: Converting *u unicode hex sequences
- From: John Stiles <email@hidden>
- Date: Mon, 5 Nov 2007 07:22:54 -0800
You get to parse the hex sequences. Backslash escapes are only
handled by the compiler. Once your code is compiled, backslashes are
no longer treated special in any way.
You could make a regular expression that matches \*([0-9A-Fa-f]
{1-4}). Convert from ASCII hex to an int by calling sscanf using "%
x". Then use replaceCharactersInRange:withString: to pull out the
*ABCD and replace it with your character.
On Nov 4, 2007, at 7:12 PM, email@hidden wrote:
Hello list.
My code receives NSStrings containing unicode hex escapes that
start with asterisk (*) instead of backslash (\), and I need to
decode these strings. For example, I need to convert
@"hello*u0020world" to @"hello world".
Using NSMutableString replaceOccurrencesOfString:withString:range:
to convert @"*" to @"\\", yields @"hello\u0020world" as expected,
but I can't seem to get from there to @"hello world".
I realize that \u0020 is neither percent-escaped nor UTF-8 encoded.
I've tried searching this list's archives, and the web in general,
all tried the variants of
stringByReplacingPercentEscapesUsingEncoding: and
stringWithCString:encoding: I can think of. I scanned the CFString
docs, but none of the functions jumped out at me.
So, how does one convert from @"hello*u0020world" to @"hello
world", short of parsing the hex sequences?
Thanks.
_______________________________________________
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:
40blizzard.com
This email sent to email@hidden
_______________________________________________
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