以前有一次做一个天气预报的项目,有一个功能是输入城市名,请求该城市的天气,需要把汉字转化成拼音,比如深圳——>shenzhen,加入到参数中。当时在网上找了一下,网友给出的方法很多都用不了,现在给出一种系统自带的方法。

- (void)viewDidLoad {

[super viewDidLoad];

NSString *str = @"乱七八糟";

[self transChinaseToPinYin:str];

}

-(NSString*)transChinaseToPinYin:(NSString*)hanzi{

NSMutableString *msg = [[NSMutableString alloc] initWithString:hanzi];

NSLog(@"msg1:%@",msg);    //msg:乱七八糟

  //将汉字转成带声调的拼音

CFStringTransform((__bridge CFMutableStringRef)msg, 0, kCFStringTransformMandarinLatin, NO);

NSLog(@"msg2:%@",msg);    //msg:luàn qī bā zāo

  //将带声调的拼音——>不带声调的拼音

CFStringTransform((__bridge CFMutableStringRef)msg, 0, kCFStringTransformStripDiacritics, NO);

NSLog(@"msg3:%@",msg);    //luan qi ba zao

  //将不带声调的拼音中的空格去掉

NSString *pinYin = [msg stringByReplacingOccurrencesOfString:@" " withString:@""];

NSLog(@"pinYin:%@",pinYin);    //luanqibazao

return pinYin;

}

iOS开发——汉字转拼音的更多相关文章

  1. iOS获取汉字的拼音

    在iOS开发中经常涉及到汉字的排序,最常见的就是需要根据首字母的字符顺序排列,比如常见的通讯录等.总结出来,大致可以分为两种方法,其中参考文献[1]中提供的方法十分复杂,利用查表的方法是先,并且代码量 ...

  2. IOS平台汉字转拼音方案

    iOS/Mac OS X 汉字转拼音 网络流行的汉字转拼音方案是带一个拼音码表,速度快.其实Core Foundation也提供了一种方案,而且还带声调! NSMutableString *ms =  ...

  3. iOS将汉字转换为拼音

    将汉字转换为拼音 - (NSString *)chineseToPinyin:(NSString *)chinese withSpace:(BOOL)withSpace { CFStringRef h ...

  4. iOS开发--汉字转成没有声调也没有空格的拼音

     //汉字转成没有声调也没有空格的拼音- (NSString *)transformToPinYin:(NSString *)wordStr {    NSMutableString *mutable ...

  5. iOS代码汉字转拼音

    NSString *hanziText = @"今天天气不错"; if ([hanziText length]) { NSMutableString *ms = [[NSMutab ...

  6. iOS CFStringTransForm汉字转拼音

    CFStringTransform - (NSString *) phonetic:(NSString*)sourceString { NSMutableString *source = [sourc ...

  7. ios开发中的小技巧

    在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新. UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIViewal ...

  8. 在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新。

    UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0 ...

  9. android开发之使用拼音搜索汉字

    国庆回了趟家,昨天真不想走,离家近的感觉太好.唉,不扯这些,说说今天的正事吧. 上篇博客中介绍了自定义AutoCompleteTextView ,但是用到了一个很蹩脚的技术,就是我们事先把每个汉字的拼 ...

随机推荐

  1. hdu 2647 Reward(拓扑排序,反着来)

    Reward Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submis ...

  2. hdu 1728 逃离迷宫 (BFS)

    逃离迷宫 Time Limit : 1000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submissi ...

  3. L7,too late

    words: parcel,包裹 detective,侦探 expect,期待 airfield,飞机起落的场地 guard,警戒,守卫,n precious,adj,珍贵的 stone,石头 exp ...

  4. Excel 帮助类

    using System; using System.Collections.Generic; using System.Data; using System.Drawing; using Syste ...

  5. AJAX开发技术--AJAX简介

    Asynchronous  JavaScript and XML,异步JavaScript和XML 主要目的用于页面的局部刷新.不用全部刷新,提高性能. 在AJAX中主要是通过XMLHttpReque ...

  6. Suzuki EN3F 参数

  7. ext3文件系统目录限制问题

    昨晚排查了在KVM的build系统中的一个问题,跟踪到后面发现在一个目录下mkdir创建目录失败.我手动试了一下,提示如下:cannot create directory `/home/master/ ...

  8. JS清除dropdownlist绑定的项,并添加新项

    <script type="text/javascript"> /*删除项*/ document.getElementById('KeyList').options.l ...

  9. HTTP 中 POST和GET的区别

    1.传送数据的方式不一样 get是将数据队列添加到URL中提交,用户可以看到(对URL反编码就行) post是将数据队列放到HTTP的报文的报头中提交,用户看不到所提交的数据: 2.服务器端获取变量的 ...

  10. Exponential notation

    Exponential notation You are given a positive decimal number x. Your task is to convert it to the &q ...