说明:
在Object-C中可以很容易的实现非拉丁字符的转化, 如汉字转换成拼音.
主要涉及到Core Function框架中的CFMutableString Reference相关函数

核心API

库: CoreFoundation
API: CFStringTransform
涉及API:

Boolean CFStringTransform ( CFMutableStringRef string, CFRange *range, CFStringRef transform, Boolean reverse );

代码

- (IBAction)handleAction:(id)sender {/** 要转换的汉字 */NSMutableString *str = @"北京".mutableCopy;/** 通过函数进行转换* @param string 要转换的字符串, 注意是类型是 CFMutableStringRef* @param range 转换的范围, NULL值表示转换整个字符串
     * @param transform 转换的选项(是个枚举值, kCFStringTransformMandarinLatin是将汉字转化为拼音)* @param reverse 是否反转.**/if (CFStringTransform((__bridge CFMutableStringRef)str, NULL, kCFStringTransformMandarinLatin, NO)) {NSLog(@"转换成功");NSLog(@"%@", str);} else {NSLog(@"转换失败");}/** 通过上面的方法,转换的汉语拼音带有声调, 如果取消声调, 可以通过转换函数的其它transform选项 */if (CFStringTransform((__bridge CFMutableStringRef)str , NULL, kCFStringTransformMandarinLatin, NO)) {/** 取消声调 */if (CFStringTransform((__bridge CFMutableStringRef)str , NULL, kCFStringTransformStripDiacritics, NO)) {NSLog(@"转换成功");NSLog(@"取消声调的拼音: %@", str);} else {NSLog(@"取消声调失败");}}  else {NSLog(@"转换汉字失败");}}/** 转换函数的可转换的选项 Transform Identifiers for CFStringTransform const CFStringRef kCFStringTransformStripCombiningMarks;const CFStringRef kCFStringTransformToLatin;               ** 也可以转换为汉字const CFStringRef kCFStringTransformFullwidthHalfwidth;const CFStringRef kCFStringTransformLatinKatakana;const CFStringRef kCFStringTransformLatinHiragana;const CFStringRef kCFStringTransformHiraganaKatakana;const CFStringRef kCFStringTransformMandarinLatin;         ** 转换为汉字const CFStringRef kCFStringTransformLatinHangul;const CFStringRef kCFStringTransformLatinArabic;const CFStringRef kCFStringTransformLatinHebrew;const CFStringRef kCFStringTransformLatinThai;const CFStringRef kCFStringTransformLatinCyrillic;const CFStringRef kCFStringTransformLatinGreek;const CFStringRef kCFStringTransformToXMLHex;const CFStringRef kCFStringTransformToUnicodeName;const CFStringRef kCFStringTransformStripDiacritics;       ** 取消声调符号*/

Demo 代码中有一个NSString的类目, 实现将首个汉字转换为拼音, 并实现大写.

Demo的GitHub链接

iOS_CoreFoundation_汉字转换拼音的实现相关推荐

  1. 昵称到拼音php,php 汉字转换拼音程序_PHP教程

    php 汉字转换拼音程序 $p=ord(substr($str,$i,1)); if($p>160){ $q=ord(substr($str,++$i,1)); $p=$p*256+$q-655 ...

  2. php汉字转换拼音,PHP汉字转换拼音的函数代码

    /************ *汉字转换拼音Class *************/ class pin{ function Pinyin($_String, $_Code='gb2312'){ $_D ...

  3. php 汉字转拼音类,PHP汉字转换拼音的类_php

    网络上类似的代码大多只能在gb2312编码下使用,下面这个类同时能在utf-8编码下将汉字转换为拼音,具体的代码和用法如下: function Pinyin($_String, $_Code='gb2 ...

  4. Java汉字转换拼音工具类

    1. 使用pinyin4j 1.1 引入相关maven依赖 <dependency><groupId>com.belerweb</groupId><artif ...

  5. 中文汉字转换拼音PHP类

    1 <?php 2 /** 3 * 中文汉字转换拼音类 4 * 功能支持 5 * 1.支持中文转换全拼 6 * 2.支持中文转换简拼(首字母) 7 * 3.支持转换的字符串返回格式设置(字符中间 ...

  6. java汉字转换拼音

    1.汉字转换拼音首先引入一个叫pinyin4j-2.5.0.jar 下载地址:http://download.csdn.net/detail/yao__shun__yu/4670228 2.测试代码 ...

  7. 汉字转换拼音字头原理实践

    今天照常登陆php新闻网站,看到首页的一则文字类的新闻,汉字转换拼音字头原理,闲来无事,用php实践下,把它写出来 /** * 汉字转换为拼音字头 * @author jkj */ class HzT ...

  8. java 汉字转换拼音

    java 汉字转换拼音 maven依赖 <dependency><groupId>com.belerweb</groupId><artifactId>p ...

  9. php汉字转换拼音,PHP汉字转换拼音

    搜索热词 下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. /************ *汉字转换拼音Class *2012.12 **** ...

最新文章

  1. 陪伴程序员的一条龙、一骑士 36 岁了!
  2. 你真的会用Android的Dialog吗?由一个Exception想到的
  3. 连接查询中where子句的执行
  4. 最全面的百度地图JavaScript离线版开发
  5. CS193P学习笔记(一)
  6. iptables防火墙详解
  7. javas的四种状态 无锁状态 偏向锁状态 轻量级锁状态 重量级锁状态
  8. jdbcTemplate快速入门
  9. Android软件测试Monkey测试工具
  10. 实现Trie(前缀树)
  11. JAVA高端编程研发培训班 JAVA开发视频教程
  12. SPSS-Modeler安装
  13. 信息安全等级保护 实施方案
  14. 被退回的劳务派遣工需要支付补偿金吗?
  15. html5 文字转换烟花,用HTML5制作烟火效果的教程
  16. 为Debian解决Mercury MW150US无线网卡驱动
  17. Cobalt Strike详细使用教程
  18. 数据挖掘分析考试笔记
  19. 苹果在天猫新开旗舰店,狙击小程序还是为拿下中国市场?
  20. 嵌入式2.4内核上驱动USB无线网卡

热门文章

  1. 不变的 butterfly,永远的dreamlover
  2. 2021计算机二级office考试题型,2021年计算机二级MSOffice考试PPT题型汇总附答案.doc...
  3. 输入带空格的字符串(C语言)
  4. Calcite技术研究
  5. Qt 获取屏幕DPI
  6. 《C语言》22-23第一学期后十周教学计划(谭浩强第五版)
  7. GPT之父谈未来五年的AI:模型规模见顶,下个突破点在用好AI涌现特质
  8. 2018虹软笔试题(算法方向)
  9. 在线拼接图片工具HTML源码
  10. 智能电表远程抄表系统