在这里主要说一下iOS 全角转半角的问题,因为我之前搞了好久,在网上搜到的都是c、c#、java一类的代码。最后解决了,实际很简单,所以和大家分享一下。
CFStringTransform的定义如下:
参数解释:
string
: 需要转换的字符串。由于这个参数是CFMutableStringRef
类型,一个NSMutableString
类型也可以通过自由桥接的方式传入。range
: 转换操作作用的范围。这个参数是CFRange
,而不是NSRange
。如果为NULL,视为全部转换。transform
: 需要应用的变换。reverse
: 如有需要,是否返回反转过的变换。true和false 或 YES和NO 都可以。
然后全角转半角就是这样:
我的数据变化:
已经从全角变成了半角。
接下来就顺便介绍一下 CFStringTransform第三个参数 的其他内容:
- kCFStringTransformStripCombiningMarks;
去掉重音和变音符,可以通过变换来去掉任意字符串中弯弯扭扭的符号,如:Énġlišh långuãge lẳcks诸如此类的字符串
- kCFStringTransformToLatin;
- kCFStringTransformMandarinLatin;
这两个都可以把汉字转化为拼音,只不过 kCFStringTransformToLatin 还可以转化非汉字字符串。这些拼音都是带音标的,如: zhōng guó, 如果想要去掉音标,还需要执行一步:
CFStringTransform(string, NULL, kCFStringTransformStripDiacritics, NO);
剩下都是一些不同拼写的转写,有兴趣的可以自己研究一下。
这是c、c#、java一类的全角转半角:http://blog.csdn.net/qiuzhuoxian/article/details/4645007
这是新人第一次写博客,写的不好的请各路大神多多关照。