如何在Objective-C中打印字符集?

8

我正在使用GNUstep shell编写Objective-C。我可以将字符串转换为字符集,但无法在控制台中打印转换后的字符集。请告诉我一种方法来打印它。提前感谢您。

1个回答

18

这将对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个字符样本。

༅༆༇༈༉༊་༌།༎༏༐༑༒༔༺༻༼༽྅


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接