前阵子做一个项目的电话簿按照首笔画快速查询,先咨询了输入法的兄弟,说没有这样的接口(输入一个汉字,获取首笔画的编码。后来又说有这个接口,只是一直没有遇到这样的需求)。反正不管了,我就自己在网上找了一个比较全的汉字编码集合,并按照我自己的需求,用VC写了一个小程序,把这个汉字集合转成我所需要的结构。 如下,有需要的兄弟可以随便看看。

// 表unicodeBiHUa[]中的结构类型
typedef struct tagUnicode1BiHua
{
 unsigned short uni;   // 汉字的unicode码
 unsigned char  bh;   // 首笔画数字指示
}Unicode1BiHua;

//  首笔画的数字指示与对应的unicode码

// 1表示“横”;2表示“竖”;3表示“撇”;4表示“捺”;5表示“折”
typedef struct tagBiHua2UniInd
{
 unsigned char  ind;
 unsigned short uni;
}BiHua2UniInd;

const BiHua2UniInd BiHua2Uni[] =
{
 {1, 0x4e00},
 {2, 0x4e28},
 {3, 0x4e3f},
 {4, 0x4e36},
 {5, 0x4e59}
};

// 包含了2W多个汉字的编码

const Unicode1BiHua unicodeBiHUa[] =
{
 {0x4e00,1},{0x4e01,1},{0x4e02,1},{0x4e03,1},{0x4e04,2},
 {0x4e05,1},{0x4e06,1},{0x4e07,1},{0x4e08,1},{0x4e09,1},

字符有限制,发不了这么多的字符。NND

{0x9f9a,1},{0x9f9b,3},{0x9f9c,3},{0x9f9d,3},{0x9f9e,4},
 {0x9f9f,3},{0x9fa0,3},{0x9fa1,3},{0x9fa2,3},{0x9fa3,3},
 {0x9fa4,3},{0x9fa5,3}
};

// 接口函数

// 入口参数:hanzi--待查找汉字的unicode

// 返回:该汉字的首笔画unicode码
unsigned short UnicodeGet1BihuaCode(unsigned short hanzi)
{
 char ind = 0;
 unsigned short low, high, mid;

low = 1;
 high = 20902;
 while (low <= high)
 {
  mid = (low + high) / 2;
  if (unicodeBiHUa[mid - 1].uni == hanzi)
  {
   ind = unicodeBiHUa[mid - 1].bh;
   break;
  }
  else if (unicodeBiHUa[mid - 1].uni < hanzi)
   low = mid + 1;
  else
   high = mid - 1;  
 }

if (ind <1 || ind > 5)
  return 0xffff;
 else
  return (BiHua2Uni[ind - 1].uni);
}

OVER!

如何获取汉字的首笔画编码相关推荐

  1. php获取汉字的首字母,PHP获取汉字的首字母

    获取汉字首字母 使用情景: 需要按照名称首字母排序,但是又没有填写首字母的输入框,所以就在后端获取输入的文字的首字母,将首字母也一起插入数据库, 样例输入: 张三 样例输出: Z 亲测有效 /** * ...

  2. 获取汉字的首字母和拼音

    /// /// 获取汉字的首字母和全拼 /// public class ChineseCode { protected string _CnTxt; protected string _EnTxt; ...

  3. php获取汉字的首字母,php获取汉字拼音首字母的方法

    现实中我们经常看到这样的说明,排名不分先后,按姓名首字母进行排序.这是中国人大多数使用的排序方法.那么在php程序中该如何操作呢? 下面就分享一下在php程序中获取汉字拼音的首字母的方法,在网上搜到的 ...

  4. Excel中如何获取汉字拼音首字母

    Excel中如何获取汉字拼音首字母 在工作中,为了方便查询.排序或者编码,需要生成汉字内容信息的首字母,如果信息很多的话,一个个录入是一件很麻烦的事情,下面给大家介绍一个便捷的方法,轻松获取汉字拼音首 ...

  5. iOS 获取汉字拼音首字母

    iOS获取汉字首字母 这个一般用在通讯里排序居多,我这里就是用到了通讯里的排序,然后就来mark一下,记录. 核心代码 char pinyinFirstLetter(unsigned short ha ...

  6. 【C#】获取汉字拼音首字母和全拼

    文章目录 利用CJK统一表意符号获取首字母 获取首字母和全拼 另附sql server解决方案 来源 java的同学可以了解下pinyin4j,js可以了解ChinesePY.js 获取拼音的意义多在 ...

  7. iOS获取汉字拼音首字母的方法

    iOS获取汉字拼音首字母的方法 之前在项目中需要根据昵称的首字母进行排序,蹚了几个坑,今天记录一下.其实iOS系统封装的就有获取汉字首字母的方法,但不推荐,想看最优解的同学直接略过: var name ...

  8. php获取拼音首字母排序,PHP获取汉字拼音首字母的方法

    PHP获取汉字拼音首字母的方法: function getfirstchar($s0){ $fchar = ord($s0{0}); if($fchar >= ord("A" ...

  9. 在delphi 7中实现获取汉字拼音首字母

    公司的餐饮系统出品的助记码,还没实现自动从出品名称获取汉字拼音首字母. 所以在网上找了三种解决方法, 一种是kaguo 的使用常用汉字拼音查找方法,这种代码十分简单,实现方便,但是这种代码仅仅是一级字 ...

最新文章

  1. 对于今年AI电磁组的一些看法
  2. [深入理解文件系统之十二] ext3文件系统的挂载选项和journal
  3. 在打印预览模式下使用Chrome的Element Inspector?
  4. 多分辨率图像的快速查询
  5. 2022-01-12
  6. Square Card 计算几何-两圆相交面积
  7. Leet Code OJ 242. Valid Anagram [Difficulty: Easy]
  8. SAP Spartacus的版本机制
  9. 活期储蓄账目管理系统
  10. keil4怎么移植其他人的程序_简单和你聊聊造血干细胞移植!
  11. HTTP协议中你必须知道的三种数据格式
  12. 介绍 JavaScript 中的闭包、局部变量(局部作用域)和私有变量等内容
  13. MySQL数据库酒店客房管理系统(含MySQL源码) 结课作业 做的不是很好
  14. python图片批量转换成灰度图像
  15. 再爆hzhost6.5虚拟主机管理系统的SQL注入漏洞
  16. 内容页的链接设置seo技巧
  17. 【通知】4月18日22:00至4月19日2:00网站服务暂停公告
  18. SpringBoot(四)整合视图
  19. 射频原理图设计checklist
  20. zabbix3.0配置服务器流量告警

热门文章

  1. 昆明达内python培训
  2. 在线编程Python网站,亲测好用
  3. STL( deque容器 )
  4. 六星教育python培训怎么样
  5. 安卓模拟器按键_横跨了几代人的经典!PSP模拟器深度教程:模拟器系列008
  6. Android 8.0解决的OkHttp问题:A connection to xxx was leaked. Did you forget to close a response body?
  7. 基于单幅图像的快速去雾算法实现
  8. Ubuntu桌面入门指南
  9. 2021-10-08 存储扫盲01
  10. 推荐一款好用的 office word 的markdown插件 - Writage