我正在使用GNUstep shell编写objective-c。我能够将字符串转换为字符集。但无法在控制台中打印转换后的字符集。请告诉我一种打印方式。提前谢谢。
答案 0 :(得分:16)
这将在unicode中执行前65536个字符,这适用于大多数情况。我相信unicode可以更高(2 ^ 32?),但这需要更长的时间来记录。
+ (void) logCharacterSet:(NSCharacterSet*)characterSet
{
unichar unicharBuffer[20];
int index = 0;
for (unichar uc = 0; uc < (0xFFFF); uc ++)
{
if ([characterSet characterIsMember:uc])
{
unicharBuffer[index] = uc;
index ++;
if (index == 20)
{
NSString * characters = [NSString stringWithCharacters:unicharBuffer length:index];
NSLog(@"%@", characters);
index = 0;
}
}
}
if (index != 0)
{
NSString * characters = [NSString stringWithCharacters:unicharBuffer length:index];
NSLog(@"%@", characters);
}
}
有一些非常有趣的结果,例如,这里有来自punctuationCharacterSet
的20个字符的样本。
་.༉༊་་་.་.་.་་.༒་,()()྅