如何在目标c中打印字符集?

时间:2010-09-27 13:33:12

标签: objective-c nscharacterset

我正在使用GNUstep shell编写objective-c。我能够将字符串转换为字符集。但无法在控制台中打印转换后的字符集。请告诉我一种打印方式。提前谢谢。

1 个答案:

答案 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个字符的样本。

  

་.༉༊་་་.་.་.་་.༒་,()()྅