字符集(Character Sets)

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

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

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

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

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

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

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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值