汉字转拼音,中文拼音排序器

汉字转拼音

NSMutableString *ms = [[NSMutableString alloc] initWithString:@"我是中国人"];
if (CFStringTransform((__bridge CFMutableStringRef)ms, 0, kCFStringTransformMandarinLatin, NO)) {
    NSLog(@"Pingying: %@", ms); // wǒ shì zhōng guó rén
}
if (CFStringTransform((__bridge CFMutableStringRef)ms, 0, kCFStringTransformStripDiacritics, NO)) {
    NSLog(@"Pingying: %@", ms); // wo shi zhong guo ren
}

中文拼音排序器

#define GB18030_ENCODING CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000)
+ (NSComparator)compor {
  return ^NSComparisonResult(NSString *obj1, NSString *obj2) {
    NSString *str1 = [obj1 stringByAddingPercentEscapesUsingEncoding:GB18030_ENCODING];
    NSString *str2 = [obj2 stringByAddingPercentEscapesUsingEncoding:GB18030_ENCODING];
    return [str1 compare:str2];
  };
}

原理:中文gb编码本来就是用拼音排序的就hack了一下:在stringByAddingPercentEscapesUsingEncoding:后面用16位编码 将中文转为ascii来比较 更简洁。

时间: 2024-10-09 11:35:40

汉字转拼音,中文拼音排序器的相关文章

ORACLE根据中文拼音首字母排序、取得中文拼音首字母函数

根据中文拼音首字母排序.取得中文拼音首字母函数     介绍根据中文的首字母.笔画.部首排序函数[NLSSORT]:           1).首字母           SELECT * FROM T_TABLE ORDER BY NLSSORT(NAME, 'NLS_SORT=SCHINESE_PINYIN_M');           2).笔画     SELECT * FROM T_TABLE ORDER BY NLSSORT(NAME, 'NLS_SORT=SCHINESE_STRO

SQL 用中文的拼音和笔画排序

SQL 用中文的拼音和笔画排序 城市按拼音排序: SELECT chineseName FROM [表名] order by chinesename collate Chinese_PRC_CS_AS_KS_WS asc 城市按笔划排序: SELECT chineseName FROM [表名] order by chinesename collate Chinese_PRC_Stroke_CS_AS_KS_WS   asc 以上代码中GD上调试通过. 多说两句,排序规则名称由两部份构成,前半部

PHP 中文工具类,支持汉字转拼音、拼音分词、简繁互转

ChineseUtil 下载地址:https://github.com/Yurunsoft/ChineseUtil PHP 中文工具类,支持汉字转拼音.拼音分词.简繁互转. PHP Chinese Tool class, support Chinese pinyin, pinyin participle, simplified and traditional conversion 目前本类库拥有的三个功能,都是在实际开发过程中整理出来的.这次使用的数据不同于以前我开源过汉字转拼音和简繁互转,数据

数组中的汉字依拼音顺序进行排序

为了实现类似微信通讯录的效果,需要按汉字拼音顺序依次排序显示,在网上查找了相关方法后,根据自己需求做出相应修改,下面贴上代码: var pySegSort=(arr) =>{ // 汉字拼音排序 if (!String.prototype.localeCompare) return null let letters = 'abcdefghjklmnopqrstwxyz'.split('') let zh = '阿八嚓哒妸发旮哈讥咔垃痳拏噢妑七呥扨它穵夕丫帀'.split('') let segs

JS获取中文拼音首字母,并通过拼音首字母快速查找页面内的中文内容

实现效果: 图一: 图二: 此例中输入的中文字符串"万万保重",有三个字是多音字,所以alert对话框中显示的是多种读音的组合: 如何实现? 如何实现通过拼音首字母快速查找页面内的中文内容呢? 过程原理是这样的:例如要对一些人名进行快速查找,当页面加载完成后,对所有人名建立一个索引,生成拼音首字母与姓名的对应关系:然后监听键盘事件,当用户按下键盘时,根据键值得到按下的是哪个字母,然后遍历索引中是否存在相同的拼音首字母: 这里还实现了根据字母组合来查找的功能,原理是这样的:当用户按键时,

[Powershell] 获取汉字的笔划,拼音。

This artical will be published in English as well: http://www.cnblogs.com/LarryAtCNBlog/p/4740454.html 在帝都入职了一家互联网公司,IT设施以前都是外包或者用云,IM什么的都用微信群,QQ之类.如今公司壮大,于是花钱上域,上exchange,上lync.比起外企管理起来就麻烦了许多,比如中文拼音各种混用,一会拼音一会汉字,再加上拼音首字母之类的,所以预感到汉字和拼音混用这一块会成为将来的一个坑,

你知道PHP汉字是怎么转换为拼音字头吗?

GB 2312中对所收汉字进行了"分区"处理,每区含有94个汉字/符号.这种表示方式也称为区位码. 1)01-09区为特殊符号. 2)16-55区为一级汉字,按拼音排序. 3)56-87区为二级汉字,按部首/笔画排序. 4)10-15区及88-94区则未有编码. 在使用GB2312的程序中,通常采用EUC储存方法,以便兼容于ASCII.浏览器编码表上的"GB2312",通常都是指"EUC-CN"表示法.每个汉字及符号以两个字节来表示.第一个字节称

用Python从0开始实现一个中文拼音输入法

众所周知,中文输入法是一个历史悠久的问题,但也实在是个繁琐的活,不知道这是不是网上很少有人分享中文拼音输入法的原因,接着这次NLP Project的机会,我觉得实现一发中文拼音输入法,看看水有多深,结果发现还挺深的,但是基本效果还是能出来的,而且看别的组都做得挺好的,这次就分 享一下我们做的结果吧. (注:此文假设读者已经具备一些隐马尔可夫模型的知识) 任务描述 实现一个中文拼音输入法. 经过分析,分为以下几个模块来对中文拼音输入法进行实现: 核心功能包括拼音切分(SplitPinyin.py)

easyui combobox 本地数据实现输入中文拼音简码过滤数据

<pre name="code" class="html"><input class="easyui-combobox" name="language" data-options=" data: baseData.emp.ck, width: 105, height: 26, valueField: 'id', textField: 'text', inputCode: 'inputCode', /