两万常用汉字的拼音+首字母缩写+unicode编码对照表
最近做项目遇到一项需求,为了隐藏汉字,对医院名称使用首字母代替,对医生名称用拼音代替。
直接下载最终excel成果:
https://download.csdn.net/download/liuxiaoddd/11545306
查阅了众多资料,对各种结果分析汇总并改造,最终总结如下:
1. 读出汉字的拼音首字母可通过Excel 公式实现;
2. 读出汉字的拼音实现方法,基本需要借助编程,但是目前网上流传最广的版本是比较老旧的版本,不仅编码覆盖不全,而且有错误的mapping。
3. 得到2万个常用的汉字并不容易,最终是通过程序按照unicode顺序逐一写出,才得到了汉字全集
4. VBA中十六进制和十进制互相转化的妙用
首先,VBA中,把unicode转为汉字:
Sub Unicode2HZ()
Sheets("Sheet1").Cells(1, 1) = ChrW$(CLng("&H" & "4E00"))
End Sub
其次,VBA中十进制与十六进制互相转化:
Sub m_Unicode2HZ2()
'十六进制转十进制
Sheets("编码对照表").Cells(1, 1) = WorksheetFunction.Hex2Dec("4E00")
Sheets("编码对照表").Cells(2, 1) = WorksheetFunction.Hex2Dec("9FA5")
'十进制转十六进制
Sheets("编码对照表").Cells(3, 1) = "'" & CStr(Hex(Sheets("编码对照表").Cells(1, 1).Value))
Sheets("编码对照表").Cells(4, 1) = "'" & CStr(Hex(Sheets("编码对照表").Cells(2, 1).Value))
End Sub
最后,VBA中通过unicode编码写出所有的汉字:
Sub getAllHanzi()
Dim i As Long
Dim low As Long
Dim high As Long
low = WorksheetFunction.Hex2Dec("4E00") - 1
high = WorksheetFunction.Hex2Dec("9FA5") + 1
i = low + 1
Do While i > low And i < high
Sheets("编码对照表").Cells(i - 19967, 1) = i
Sheets("编码对照表").Cells(i - 19967, 2) = "'" & CStr(Hex(i))
Sheets("编码对照表").Cells(i - 19967, 3) = ChrW$(CLng("&H" & Sheets("编码对照表").Cells(i - 19967, 2).Value))
i = i + 1
Loop
End Sub
最后的几个标签页的结果分别如图:
取汉字首字母:根据Excel公式生成
取汉字拼音:根据VBA中的代码生成,不太全
编码对照表:比较全的对照表,但没有用来更新“取汉字拼音”后台逻辑的vba程序,仅作研究,为大家提供便利。
由于含有宏,文件格式为xlsm,需要启用宏各功能才可用。
已经上传到CSDN论坛,名称为“汉字编码拼音对照表.xlsm”
直接下载最终excel成果:
https://download.csdn.net/download/liuxiaoddd/11545306
直接下载成果:
一个unicode和拼音的对照表,dat文件,可以用notepad++打开
https://download.csdn.net/download/baidu_18987603/9695456
unicode 的汉字编码范围:
https://www.qqxiuzi.cn/zh/hanzi-unicode-bianma.php
两万常用汉字的拼音+首字母缩写+unicode编码对照表相关推荐
- Java 汉字转拼音首字母缩写
以下代码不支持多音字,请慎重使用. eg:河南 ---> HN (如果需要小写,转一下就行了) package com.tc.sjcj.TC_Provider; import android.c ...
- C# 汉字转拼音首字母大写
我们在手机上经常都能看到通过拼音缩写来搜索好友信息,那么它是如何将一段汉字转换为首字母大写呢 首先我们来了解一下中文在计算机中的结构.计算机识别的是字节,字节(Byte)是计算机信息技术用于计量存储容 ...
- C# 获取汉字的拼音首字母(转)
原文:https://blog.csdn.net/younghaiqing/article/details/62417269 一种是把所有中文字符集合起来组成一个对照表:另一种是依照汉字在Unicod ...
- C# 获取汉字的拼音首字母和全拼(含源码)
C# 获取汉字的拼音首字母 一种是把所有中文字符集合起来组成一个对照表:另一种是依照汉字在Unicode编码表中的排序来确定拼音的首字母.碰到多音字时就以常用的为准(第一种方法中可以自行更改,方法为手 ...
- (转)C# 获取汉字的拼音首字母和全拼(含源码)[A]
https://blog.csdn.net/younghaiqing/article/details/62417269 C# 获取汉字的拼音首字母 一种是把所有中文字符集合起来组成一个对照表:另一种是 ...
- ajax返回的数据怎么显示出来_Excel输入汉字、拼音首字母就能显示数据出来,录数据时逐步提示...
在办公中经常需要录入数据,特别是财务,人力资源,采购这块,经常需要 如果经常复制.粘贴很累,即使用到数据有效性进行设置,数据量多了,也不好选择. 所以,这里介绍两个Excel插件E灵和EXCEL必备工 ...
- 在PostgreSQL中实现按拼音、汉字、拼音首字母搜索的例子
在PostgreSQL中实现按拼音.汉字.拼音首字母搜索的例子 作者 digoal 日期 2016-11-09 标签 PostgreSQL , 拼音 , 中文分词 , tsvector , 拼音首字母 ...
- java怎样获取汉字的首字母_[JAVA]获得汉字的拼音首字母
--sunfruit 提供了获得汉字的拼音首字母的方法 JDK版本 无版本限制 功能 实现了获得一个汉字的拼音首字母功能,为汉字排序提供了方便 欢迎大家提意见,交流 代码如下: /** * ...
- SqlServer 汉字转换拼音首字母函数
CREATE function [dbo].[Func_GetPY](@str nvarchar(4000)) returns nvarchar(4000) as begin set @str=RTR ...
- 完整简洁的Oracle获得汉字字符串拼音首字母和全拼的函数
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! http ...
最新文章
- 避免DateTimePicker闪烁的解决方案
- win7下设置无线上网
- 001Python路--入门
- 计算机it分几个学,2020德国计算机专业申请指南 IT专业学习有哪些难度
- 傅里叶变换及其应用 pdf_级数的欧拉变换及其应用
- 【Java从入门到天黑|05】JavaSE入门之面向对象(下)
- Percona 成为 MariaDB 基金会铜牌赞助商
- FFmpeg源代码简单分析:常见结构体的初始化和销毁(AVFormatContext,AVFrame等)
- 【游戏】基于matlab绘制滚动点阵字幕(跑马灯)【含Matlab源码 911期】
- gbk与gb2312的区别是什么?
- ES自动化集群搭建脚本shell
- The Derivation About CNN and Antoencoder
- js 校验字符串是否为数字和字母组合
- 2014 年总结--【宽容待人】
- Camera摄像头模组硬件
- unity调用windows画图打印图片
- 百分制转五分制(java)
- 【攻防世界 level2】
- AI如何与票据交易场景结合
- Python常用的12个GUI框架