Georg,

NSString/CFString is conceptually an object wrapping around UTF-16 character 
array (just like many other string objects).  The length 2 returned from your 
example is, thus, the expected behavior.

When you're creating a string with Universal Character Names that containing 
non-BMP points, the official syntax is \UXXXXXXXX so it should be 
@"\\U0001ABCD".

>       int Char = 0x1ABCD;
>       NSString *aString = [NSString stringWithFormat:@"%C", Char]; //The 
> resulting string contains one character with a unicode value of "ABCD".

%C takes a short value.

You can do something like this:
UniChar characters[2];
CFIndex length = (CFStringGetSurrogatePairForLongCharacter(0x1ABCD, characters) 
? 2 : 1);

CFStringCreateWithCharacters(NULL, characters, length);

Aki

On 2010/06/27, at 14:18, Georg Seifert wrote:

> Hi,
> 
> Does anyone has information on how to use Unicode code points higher than 
> 0xFFFF.
> I need to add some supplementary multilingual plane code points to a NSString.
> 
> I can use something like this: 
>       NSString *aString = @"\\u0001ABCD"; //this prints fine but the [aString 
> length] is 2
> 
> But if I have the unicode value as a int (unichar is to small)
>       int Char = 0x1ABCD;
>       NSString *aString = [NSString stringWithFormat:@"%C", Char]; //The 
> resulting string contains one character with a unicode value of "ABCD".
> 
> What is the recommended way to use/create UTF-32 strings in Cocoa.
> 
> Best Regards
> Georg
> 
> _______________________________________________
> 
> 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/aki%40apple.com
> 
> This email sent to a...@apple.com

_______________________________________________

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