美文网首页
iOS中 中文转换成拼音 原生的做法

iOS中 中文转换成拼音 原生的做法

作者: JiYis | 来源:发表于2016-08-05 15:36 被阅读56次

中文转换成拼音

在做一款天气应用时,Api要求的参数是需要传入城市的拼音,原生的Foundation框架下没有相应的方法,但是iOS的CoreFoundation框架里提供了这样的一个函数,用来处理这类的要求。

CFStringTransform函数

//  官方的代码 用于生成一个不可变的CFString的可变copy

// CFMutableStringRef CFStringCreateMutableCopy(CFAllocatorRef alloc, CFIndex maxLength, CFStringRef theString);

/*

参数1:创建

参数2:最大的字符串长度,0表示无限制

参数3:将要转换的字符串(C的字符串)

*/

//  使用

//  1.此时先将要转换的字符串,转换成能转换的CFMutableStringRef

CFMutableStringRef tempString = CFStringCreateMuatbleCopy(NULL, 0, CFSTR(”成都“));

//  2.将字符串进行转换

/*

参数1:待转换的字符串 tempString

参数2:将要转换的范围 如果为NULL,则为全部转换

参数3:转换的方式 kCFStringTransformMandarinLatin中文->拼音

参数4:转换是否必须是可逆向的转换

返回值:是否转换成功 true为成功 flase为失败

*/

CFStringTransform(string, NULL, kCFStringTransformMandarinLatin, NO);

NSLog(@"%@", tempString);

此时转换之后,执行结果是这样的:

chéng dōu

这时是带有音标的,如果不需要音标,只需要在NSLog前再加上一句即可

CFStringTransform(string, NULL, kCFStringTransformStripDiacritics, NO);

输出结果为:

cheng dou

这样就能完成对中文->拼音的转换

当然这样的方法,在做通讯录相关的东西的时候也是非常的实用!

相关文章

  • iOS中 中文转换成拼音 原生的做法

    中文转换成拼音 在做一款天气应用时,Api要求的参数是需要传入城市的拼音,原生的Foundation框架下没有相应...

  • flutter ios原生自带中文输入法TextField无法正

    问题描述: 用ios原生自带中文输入法,输入时,中文无法正常输入,输入时会重复好多次,并且显示是中文的拼音字母,用...

  • 2020-11-18 解决Flutter TextField限制

    项目中存在一个输入框,只能提交中文字符串,于是使用了如下的方法实现 但是上线运行之后,发现在iOS原生拼音输入法中...

  • Swift 4.2 原生输入法中文限制字数

    iOS 原生输入法中文限制字数 Swift 4.2

  • iOS 中文转拼音

    需求:获取中文的拼音 一.系统方法 优点:调用简单缺点:多音字,不能识别,比如长沙-->会被识别成zhangsha...

  • IOS 中文转拼音

    IOS开发中,时常会遇到将中文转成拼音的需求,如按首字母顺序排序等。遇到这样的问题很多人第一反应就是寻找第三方SD...

  • iOS中文转拼音

    可以带音标也可以不带,转出来带拼音带空格,可以自行去掉

  • base64解码 (含中文汉字)

    使用第三方Base64解码(data中包含中文) iOS7以后使用原生base64解码(data中包含中文) iO...

  • swift利用系统库汉字转换为拼音

    在iOS中我们做搜索时一般会遇到通过拼音搜索关键字的情况,这时候我们的判断就需要把中文汉字转换为拼音,有些时候还需...

  • iOS汉字转换成拼音

    面对输入的中文如何转化为拼音问题,本想找个第三方框架看看有没有能实现这功能的,Google之后才发现原来苹果原生的...

网友评论

      本文标题:iOS中 中文转换成拼音 原生的做法

      本文链接:https://www.haomeiwen.com/subject/ydghsttx.html