取得汉字字符串的首字母串

此功能一般用来生成姓名的首字母简写,比如说我今天下午写程序的时候就要用,对于国标码的很简单,因为其ANSII编码是按汉字拼音首字母顺序排列的,只要查出汉字的ANSII值,再对比一下范围就可以了。
但是问题是,我用的是UTF-8编码,而UNICODE的汉字编码毫无规则可言,这可愁坏人了,如果用中文的操作系统的话,装了MSSQL,可以从MSSQL的系统表里把这个对应关系select 出来,但是我现在用AC数据库,犯不着去为了查个字母就动MSSQL,所以最需要的还是一张UNICODE的汉字编码对照表。
UNICODE汉字共收录了20901个,编码从19968到40869,下面是unicode版的函数,要注意的是查看汉字的UNICODE码在ASP里要用ascW()函数。其实,只要有了下面那张对照表,不管是什么语言,像asp,php,coldfusion,jsp,c#等都可能轻儿易举地查出汉字的拼音首字母了。
<%'//获得UNICODE单个汉字的首字母
'Unicode共收录20901个汉字,编码从19968到40869
'在ASP里,取汉字的UNICODE码要用ascW()函数来取
'相反,用chrW来反解码,搞了下午才搞到这个对照表
function GetPy4utf(char)
if char=null or len(trim(char))=0 then exit function
dim strCHSfirstPY
strCHSfirstPY ="YDYQSXMWZSSXJBYMGCCZQPSSQBYCDSCDQLDYLYBSSJGYZZJJFKCCLZDHWDWZJLJPFYYNWJJTMYHZWZHFLZPPQHGSCYYYNJQYXXGJ"_
&"HHSDSJNKKTMOMLCRXYPSNQSECCQZGGLLYJLMYZZSECYKYYHQWJSSGGYXYZYJWWKDJHYCHMYXJTLXJYQBYXZLDWRDJRWYSRLDZJPC"_
&"BZJJBRCFTLECZSTZFXXZHTRQHYBDLYCZSSYMMRFMYQZPWWJJYFCRWFDFZQPYDDWYXKYJAWJFFXYPSFTZYHHYZYSWCJYXSCLCXXWZ"_
&"ZXNBGNNXBXLZSZSBSGPYSYZDHMDZBQBZCWDZZYYTZHBTSYYBZGNTNXQYWQSKBPHHLXGYBFMJEBJHHGQTJCYSXSTKZHLYCKGLYSMZ"_
&"XYALMELDCCXGZYRJXSDLTYZCQKCNNJWHJTZZCQLJSTSTBNXBTYXCEQXGKWJYFLZQLYHYXSPSFXLMPBYSXXXYDJCZYLLLSJXFHJXP"_
&"JBTFFYABYXBHZZBJYZLWLCZGGBTSSMDTJZXPTHYQTGLJSCQFZKJZJQNLZWLSLHDZBWJNCJZYZSQQYCQYRZCJJWYBRTWPYFTWEXCS"_
&"KDZCTBZHYZZYYJXZCFFZZMJYXXSDZZOTTBZLQWFCKSZSXFYRLNYJMBDTHJXSQQCCSBXYYTSYFBXDZTGBCNSLCYZZPSAZYZZSCJCS"_
&"HZQYDXLBPJLLMQXTYDZXSQJTZPXLCGLQTZWJBHCTSYJSFXYEJJTLBGXSXJMYJQQPFZASYJNTYDJXKJCDJSZCBARTDCLYJQMWNQNC"_
&"LLLKBYBZZSYHQQLTWLCCXTXLLZNTYLNEWYZYXCZXXGRKRMTCNDNJTSYYSSDQDGHSDBJGHRWRQLYBGLXHLGTGXBQJDZPYJSJYJCTM"_

时间: 2024-09-18 13:47:07

取得汉字字符串的首字母串的相关文章

获得汉字字符串的首字母(T-SQL函数)

函数|汉字|字符串 /*--获得汉字字符串的首字母--*/if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[fGetPy]') and xtype in (N'FN', N'IF', N'TF'))drop function [dbo].[fGetPy]GO --创建取拼音函数create function fGetPy(@Str varchar(500)='')returns varchar(500)as

获得汉字字符串拼音首字母 C#版

汉字|拼音|字符串 获取字符串中的汉字拼音首字母(根据http://blog.csdn.net/iwebsms/archive/2004/09/28/119851.aspx修改) 可能代码比较臃肿,希望有朋友再帮忙改正 //返回给定字符串的首字母 private String IndexCode(String IndexTxt) { String _Temp=null; for(int i=0;i<IndexTxt.Length;i++) _Temp = _Temp + GetOneIndex(

获得汉字字符串的首个拼音字母的缩写

汉字|拼音|字符串     标题可能不太清楚,实现的功能如下:我爱中国-WAZG 1.汉字字符与英文字母之间区别     标准的asc表不包含汉字字符,因为一个asc字符只有1byte,就是8bit,8bit所能代表的数字范围,如果是有符号的好,因该为-128-127,无符号的话,应该为0-255.而我们知道,一个汉字字符,应该占有2个byte,表示范围应该为-32768-32767,所以汉字的asc,举例一段bit:  11002111,11111101它所代表的字符,应该超过了asc所能表述

获得汉字字符串的首字母

--*/if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[fGetPy]') and xtype in (N'FN', N'IF', N'TF'))drop function [dbo].[fGetPy]GO--创建取拼音函数create function fGetPy(@Str varchar(500)='')returns varchar(500)asbegin    declare @strlen i

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

在PostgreSQL中实现按拼音.汉字.拼音首字母搜索的例子 作者 digoal 日期 2016-11-09 标签 PostgreSQL , 拼音 , 中文分词 , tsvector , 拼音首字母 , hmm , 词库 背景 PostgreSQL有很多特性是可以提升开发效率,提高生产力的. 在前端页面中,搜索是一个非常常用的功能,例如淘宝首页的搜索. 为了提升用户体验,用户可以按拼音首字母进行搜索,按中文单词搜索,或者按拼音的全部进行搜索. 又比如家里的电视盒子,因为没有实体键盘,按拼音首字

得到每个汉字的字首拼音码字母(大写)

/// <summary> /// 判断是否为汉字 /// </summary> /// <param name="chrStr">待检测字符串</param> /// <returns>是汉字返回true</returns> public static bool IsChineseCharacters(string chrStr) { Regex CheckStr = new Regex("[\u4e0

MySQL数据库获取汉字拼音的首字母函数

原文:MySQL数据库获取汉字拼音的首字母函数 需求简介:最近的一个项目,想实现如下图所示的显示效果.很明显,如果能够获取对应的汉字词组的拼音首字母就可以实现了,如果是固定的几个汉字,人为的拼一下就可以了,不过项目中有多处功能是需要这个效果的,并且事先也不知道对应的汉字是什么,所以就需要一个函数来完成这件事情了,根据网上查询的资料自己改进了一个函数实现的效果,现分享如下. 1:测试环境      1-1:测试工具的信息           1-2:测试数据库的信息      2:测试数据    

ASP.NET 根据汉字获取汉字拼音的首字母(含多音字)_实用技巧

在很多时候,我们需要将汉字的拼音首字母存储到数据库,以便我们能通过首字母进行快速的查询,常见的有百度搜索,你只要输入拼音的首字母,就会出现相关的搜索的关键词,再比如一些办公系统中,查询一个人的姓名,为了简单方便,只输这个人的名字的首字母,就能快速检索. 话不多说,代码分享给大家: #region 获取汉字转换拼音 首字母 public string MkPinyinString(string HanZiStr) //获取汉字字符串的拼音首字母,含多音字 { int i, j, k, m; str

偶数汉字转utf-8-VB将汉字字符串转换成 UTF-8格式

问题描述 VB将汉字字符串转换成 UTF-8格式 VB将汉字字符串转换成 UTF-8格式后按照JSON格式提交给服务器,偶数个汉字没有问题,但奇数个汉字时,会有问题,请大师指导. Private Declare Function MultiByteToWideChar Lib "kernel32 " (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpMultiByteStr As Long, ByVal cchMultiBy