最近做项目遇到一项需求,为了隐藏汉字,对医院名称使用首字母代替,对医生名称用拼音代替。

直接下载最终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编码对照表相关推荐

  1. Java 汉字转拼音首字母缩写

    以下代码不支持多音字,请慎重使用. eg:河南 ---> HN (如果需要小写,转一下就行了) package com.tc.sjcj.TC_Provider; import android.c ...

  2. C# 汉字转拼音首字母大写

    我们在手机上经常都能看到通过拼音缩写来搜索好友信息,那么它是如何将一段汉字转换为首字母大写呢 首先我们来了解一下中文在计算机中的结构.计算机识别的是字节,字节(Byte)是计算机信息技术用于计量存储容 ...

  3. C# 获取汉字的拼音首字母(转)

    原文:https://blog.csdn.net/younghaiqing/article/details/62417269 一种是把所有中文字符集合起来组成一个对照表:另一种是依照汉字在Unicod ...

  4. C# 获取汉字的拼音首字母和全拼(含源码)

    C# 获取汉字的拼音首字母 一种是把所有中文字符集合起来组成一个对照表:另一种是依照汉字在Unicode编码表中的排序来确定拼音的首字母.碰到多音字时就以常用的为准(第一种方法中可以自行更改,方法为手 ...

  5. (转)C# 获取汉字的拼音首字母和全拼(含源码)[A]

    https://blog.csdn.net/younghaiqing/article/details/62417269 C# 获取汉字的拼音首字母 一种是把所有中文字符集合起来组成一个对照表:另一种是 ...

  6. ajax返回的数据怎么显示出来_Excel输入汉字、拼音首字母就能显示数据出来,录数据时逐步提示...

    在办公中经常需要录入数据,特别是财务,人力资源,采购这块,经常需要 如果经常复制.粘贴很累,即使用到数据有效性进行设置,数据量多了,也不好选择. 所以,这里介绍两个Excel插件E灵和EXCEL必备工 ...

  7. 在PostgreSQL中实现按拼音、汉字、拼音首字母搜索的例子

    在PostgreSQL中实现按拼音.汉字.拼音首字母搜索的例子 作者 digoal 日期 2016-11-09 标签 PostgreSQL , 拼音 , 中文分词 , tsvector , 拼音首字母 ...

  8. java怎样获取汉字的首字母_[JAVA]获得汉字的拼音首字母

    --sunfruit 提供了获得汉字的拼音首字母的方法 JDK版本    无版本限制 功能    实现了获得一个汉字的拼音首字母功能,为汉字排序提供了方便 欢迎大家提意见,交流 代码如下: /** * ...

  9. SqlServer 汉字转换拼音首字母函数

    CREATE function [dbo].[Func_GetPY](@str nvarchar(4000)) returns nvarchar(4000) as begin set @str=RTR ...

  10. 完整简洁的Oracle获得汉字字符串拼音首字母和全拼的函数

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! http ...

最新文章

  1. 避免DateTimePicker闪烁的解决方案
  2. win7下设置无线上网
  3. 001Python路--入门
  4. 计算机it分几个学,2020德国计算机专业申请指南 IT专业学习有哪些难度
  5. 傅里叶变换及其应用 pdf_级数的欧拉变换及其应用
  6. 【Java从入门到天黑|05】JavaSE入门之面向对象(下)
  7. Percona 成为 MariaDB 基金会铜牌赞助商
  8. FFmpeg源代码简单分析:常见结构体的初始化和销毁(AVFormatContext,AVFrame等)
  9. 【游戏】基于matlab绘制滚动点阵字幕(跑马灯)【含Matlab源码 911期】
  10. gbk与gb2312的区别是什么?
  11. ES自动化集群搭建脚本shell
  12. The Derivation About CNN and Antoencoder
  13. js 校验字符串是否为数字和字母组合
  14. 2014 年总结--【宽容待人】
  15. Camera摄像头模组硬件
  16. unity调用windows画图打印图片
  17. 百分制转五分制(java)
  18. 【攻防世界 level2】
  19. AI如何与票据交易场景结合
  20. Python常用的12个GUI框架

热门文章

  1. nginx代理出现Provisional headers are shown
  2. 倾斜摄影实景三维与游戏的结合
  3. HDU2586 How far away ?(LCA模板题)
  4. 系统集成项目管理工程师06《项目成本管理》
  5. Google一些关键词的运用
  6. windows 注册表固定桌面壁纸
  7. Java中的异常捕获
  8. 使用pystaller打包qy图形界面遇到的问题:This application failed to start...
  9. 青龙面板之B站任务天选时刻
  10. 记录一次keil调试过程:自动识别GPS厂家芯片