字符集(Character Sets)

来源:互联网 发布:淘宝好评语 编辑:程序博客网 时间:2024/05/29 15:01

在核心基础中,一个字符集,表现为CFCharacterSet对象,描述了一个Unicode字符集合。函数可以使用字符集将一起的字符分组去搜索和解析操作,这样就可以在搜索中找到或者排除任何特殊的字符集。除了测试字符集的成员,一个字符集对象只需持有一组字符值去限制字符串操作。

你可以使用字符集搜索,解析和比较操作字符串。编程接口需要一个CFCharacterSet对象的引用在核心基础和Carbon开发中。

要获取一个可以传递到函数中CFCharacterset对象,你可以使用使用一个预定义的字符集或者创建自己的字符集。使用一个预定义的集合,使用CFCharacterSetPredefinedSet常量调用CFCharacterSetGetPredefined,包含空白,文字和数字字符,十进制数字。一些CFCharacterSet函数从字符串或者位图数据创建字符集,其他的一些函数允许你创建可变的字符集。你可以使用预定义字符集作为一个创建自定义字符集起点,创建一个可变副本,和改变它。

由于字符集经常参与到关键性能代码,你应该注意他们在程序中使用的可以影响性能的各方面。可变字符集比不可变的字符集需要耗费更多。他们消耗更多内存和昂贵的反转(一个常用扫描字符串的操作)。正由于此原因,你需要遵从以下指导:

(1)创建尽可能少的可变字符集

(2)缓存字符集(到一个全局的字典,可能的话)代替频繁的创建字符集。

(3)当你创建一个自定义的字符集,创建完成后,不需要改变,对最终真实使用的字符集使用一个不可变的拷贝,和处理可变字符集的工作。