在代码中定义unichar常量

时间:2011-07-25 07:14:15

标签: objective-c

我想做这样的事情:

const UniChar KA = 'か';

但XCode吐出“多字符常量”。

我尽量避免使用NSString的+ characterAtIndex ...我需要这个迭代假名,就像你可以迭代字母表(char myCharacter = 'A';

我在看Objective c doesn't like my unichars?,但它并没有真正为我解决它。

无论如何,我试图将“tenten”和/或“maru”放在か,た等之上,如か→が,た→だ。可能是一个现成的解决方案,如果有人知道,这也将解决我的问题。

1 个答案:

答案 0 :(得分:6)

源代码通常编码为UTF-8,这意味着您不能在那里使用16位字符文字。您需要使用转义序列:

const UniChar KA = '\u30AB';

或以数字方式指定值:

const unichar KA = 0x30AB;

(注意:我真的不知道这是你给出的示例字符的正确代码。)

我认为您唯一的另一个选择是创建a .strings file,它可以并且应该是UTF-16编码,然后使用NSLocalizedString将字符放入您的程序。