文档章节

iOS编程中,中文字符转为拼音

锦溪5g7N
 锦溪5g7N
发布于 2016/02/25 10:57
字数 234
阅读 12
收藏 0

//中文字符转为拼音字母

-(NSString *)PhoneticLetterFromChineseCharacter:(NSString *)src{

    //要用到底层corefoundation框架中的方法,所以要先将上层类型转换为底层类型

    //底层CFMutableStringRef对应上层NSMutableString

    //底层CFStringRef对应上层NSString

    CFStringRef cfstr = (__bridge CFStringRef)src;

    //转换方法中,需要可变字符串,如果字符串本来存储"张三",可变方法会将该字符串直接转为"zhangsan"

    //所以需要创建可变字符串

    CFMutableStringRef cfmstr = CFStringCreateMutableCopy(NULL, 0, cfstr);

    //转换为拼音

    CFStringTransform(cfmstr, NULL, kCFStringTransformMandarinLatin, NO);

    //去掉音标,否则就是zhāng sān

    CFStringTransform(cfmstr, NULL, kCFStringTransformStripDiacritics, NO);

    //在转换回去,作为NSString类型的返回值

    NSMutableString * mstr = (__bridge NSMutableString *)cfmstr;

    //去掉其中的空格,否则是"zhang san"

    for(int i = 0; i < [mstr length]; i++)

    {

        unichar ch = [mstr characterAtIndex:i];

        if(ch == ' ')

        {

            [mstr deleteCharactersInRange:NSMakeRange(i, 1)];

            i--;

        }

    }

    NSString * retstr = [NSString stringWithString:mstr];

    return retstr;

}

 

 

© 著作权归作者所有

锦溪5g7N
粉丝 0
博文 5
码字总数 426
作品 0
广州
私信 提问
关于sdl在ios中输入拼音的问题

做的是ios app,我们现在项目里面用的sdl跨平台,平常开发在windows下,在处理文本输入的时候,英文输入的情况在windows和ios下都没有任何问题,问题出在中文输入上。 在windows下,用拼音输...

hellodudu86
2014/06/28
447
0
解决 iOS 内英文系统中联系人排序问题

好多人喜欢将 iOS 设置为英文系统,但是有一个问题其实蛮头疼的,就是联系人的排序问题。在英文系统中,所有中文名字被默认排到了 # 后面,而不是按照拼音来分栏的。 网上有一个方法就是将每...

xh4n3
2015/07/26
0
0
如果编程替换成中文就会怎样? 程序员看了表示头疼

如果编程替换成中文就会怎样? 程序员看了表示头疼 2018-06-20 17:50编辑: garace分类:程序人生来源:代码湾 代码编程中文代码 招聘信息: C++工程师 Cocos2d-x游戏客户端开发 iOS开发工程师...

garace
2018/06/20
0
0
IOS数组按中文关键字以字母序排序

IOS项目中会用到对通讯录的联系人或是会员按姓名为关键字排序,因为NSArray并不直接支持对汉字的排序,这就要通过将汉字转换成拼音完成按A~Z的排序,这看起来是个头疼的问题,因为牵扯到汉字...

长平狐
2012/11/01
575
0
苹果 iOS 6 正式发布 200项升级功能更完善

[天极北京6月12日凌晨消息]北京时间2012年6月12日凌晨1点,2012年苹果全球开发者大会如期而至,苹果公司于本届大会首日召开的发布会无疑颇具看点。在本场发布会中,继新一代苹果Macbook Pro...

oschina
2012/06/12
2.4K
5

没有更多内容

加载失败,请刷新页面

加载更多

以太坊中文文档翻译-区块

本文原文链接 点击这里获取Etherscan API 中文文档(完整版) 完整内容排版更好,推荐读者前往阅读。 区块(Blocks) 区块相关的 API,接口的参数说明请参考Etherscan API 约定, 文档中不单独...

Tiny熊
20分钟前
1
0
Linux 内核的一个问题

是virtio 驱动,但是没有启动 virtio-mmio virtio-mmio.0: Failed to enable 64-bit or 32-bit DMA. Trying to continue, but this might not work.....[ 1.047924] md: ... autorun......

MtrS
44分钟前
2
0
MySQL主从配置

17.1 MySQL主从介绍 17.2 准备工作 17.3 配置主 17.4 配置从 17.5 测试主从同步 一、 MySQL主从介绍

tobej
54分钟前
2
0
读书replay《博弈与社会》.1.20190526

前情 《美丽心灵》,一部讲数学家约翰·福布斯·纳什的电影,我第一次听到博弈理论就是在这部电影里。看过电影之后就一直想知道,博弈论究竟讲了什么。很久之后,20190417这天,我刷JD的购物...

wanxiangming
今天
2
0
iOS TableView层级结构剖析

首先上图 下面来分析一下tableView的层级结构 tableView的组成: 1.整个tableView有且仅有一个头部和尾部就是tableViewHeadView和tableViewFooterView2.tableView 可以有多个section,一个s...

HOrange
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部