2012-06-06 45 views
1

我需要定义以下2的unicode常数的#define Unicode字符

/*

平符号 ♭ MUSIC FLAT SIGN 的Unicode:U + 266D,UTF-8:E2 AD 99

夏普符号 ♯ MUSIC SHARP SIGN 的Unicode:U + 266F,UTF-8:E2 99 AF

*/

#define kSongsSharpSymbol [NSString stringWithFormat:@"\u0266F"] 
#define kSongsFlatSymbol [NSString stringWithFormat:@"\u0266D"] 

当我看到控制台输出,值不正确的符号:

NSLog(@"Sharp Constant %@",kSongsSharpSymbol);  

我在做什么错?

回答

3

移除前导零的固定这样的:

#define kSongsSharpSymbol [NSString stringWithFormat:@"\u266F"] 
#define kSongsFlatSymbol [NSString stringWithFormat:@"\u266D"] 
0

采用stringWithFormat:(如由@Slinky建议的)是不必要的。解码\u由编译器完成,而不是运行时。您可以使用字符串文字:

#define kSongsSharpSymbol @"\u266F" 
#define kSongsFlatSymbol @"\u266D"