PHP汉字转换为拼音字头原理
学习犹如逆水行舟,不进则退。下面是小编整理的PHP汉字转换为拼音字头原理,希望对大家学习PHP有用,更多消息请关注应届毕业生网。
GB 2312中对所收汉字进行了“分区”处理,每区含有94个汉字/符号。这种表示方式也称为区位码。1)01-09区为特殊符号。
2)16-55区为一级汉字,按拼音排序。
3)56-87区为二级汉字,按部首/笔画排序。
4)10-15区及88-94区则未有编码。
在使用GB2312的程序中,通常采用EUC储存方法,以便兼容于ASCII。浏览器编码表上的“GB2312”,通常都是指“EUC-CN”表示法。
每个汉字及符号以两个字节来表示。第一个字节称为“高位字节”(也称“区字节)”,第二个字节称为“低位字节”(也称“位字节”)。
“高位字节”使用了0xA1-0xF7(把01-87区的区号加上0xA0),“低位字节”使用了0xA1-0xFE(把01-94加上 0xA0)。由于一级汉字从16区起始,汉字区的“高位字节”的'范围是0xB0-0xF7,“低位字节”的范围是0xA1-0xFE,占用的码位是 72*94=6768。其中有5个空位是D7FA-D7FE。
例如“啊”字在大多数程序中,会以两个字节,0xB0(第一个字节) 0xA1(第二个字节)储存。区位码=区字节+位字节(与区位码对比:0xB0=0xA0+16,0xA1=0xA0+1)。
设计:
用一个数组存放国标一级汉字不同读音的起始区位码 :如
static final int[] secPosValueList = {
1601, 1637, 1833, 2078, 2274, 2302, 2433, 2594, 2787, 3106, 3212, 3472,
3635, 3722, 3730, 3858, 4027, 4086, 4390, 4558, 4684, 4925, 5249, 9999};
一个数据存放存放国标一级汉字不同读音的起始区位码对应读音
static final char[] firstLetter = {
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
'q', 'r', 's', 't', 'w', 'x', 'y', 'z'};
处理方法:
1. 判断是否为英文之母
2. 如果是,直接返回英文之母
3. 取字符的编码值
4. 比较判断其编码值在码表中的位置。
5. 根据位置值,返回之母表中相应值
更多PHP
-
为什么说结对编程实际操作起来很难
人们常说团结就是力量,那么在编程中人多是不是也能产生更高的效率呢?下面就和小编一起来看看吧!更多内容请关注应届毕业生网!结对编程有助于提高软件质量和加强团队成员合作。它有非常多的好处,但是,团队成员真的很容易结成对子吗?MarcosBrizeno,巴西ThoughtWorks...
-
如何利用PHP访问带有密码的Redis
导语:如何利用PHP访问带有密码的Redis方法,下面小编给大家提供了代码实现步骤,大家可以参考阅读,更多详情请关注应届毕业生考试网。一、首先设置Redis密码,以提供远程登陆打开配置文件,找到requirepass,然后修改如下:requirepassyourpasswordyourpassword就是redis验...
-
PHP数据类型之数组变量详解
导语:PHP是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。下面我们来看看PHP数据类型之数组变量详解,希望对大家有所帮助。PHP中的数组实际上是一个有序图,是一种把values映射到keys的类型。一个数组实际上就...
-
PHP学习入门的一些基础知识
导语:PHP是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。下面我们来看看PHP学习入门的一些基础知识,希望对大家有所帮助。一,PHP脚本代码标记PHP的脚本是文件中一对特殊标记所包括的内容,如ASP是“”,PHP可看...