❶ php里如何实现汉字转区位码
<?php
global $PHP_SELF;
//echo $PHP_SELF;
$t1=$_POST['textfield1'];
$t2=$_POST['textfield2'];
$t3=$_POST['textfield3'];
$t4=$_POST['textfield4'];
// 汉字--区位码
if($t1!=""){
$t2= sprintf("%02d%02d",ord($t1[0])-160,ord($t1[1])-160);
//echo $t2;
}
// 区位码--汉字
if($t3!=""){
$t4 = chr(substr($t3,0,2)+160).chr(substr($t3,2,2)+160);
//echo $t4;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
<!--
.STYLE1 {font-size: 18px}
-->
</style>
</head>
<body>
<table width="528" height="146" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="524" height="50"><div align="center" class="STYLE1">汉字区位码查询系统</div></td>
</tr>
<tr>
<td><form id="form1" name="form1" method="post" action="<?=$PHP_SELF ?>">
<label>输入汉字
<input name="textfield1" type="text" value="<?=$t1?>" />
</label>
<label>
<input type="submit" name="Submit" value="转换" />
</label>
<label>
<input name="textfield2" type="text" value="<?=$t2?>" />
</label>
</form>
<br />
<form id="form2" name="form2" method="post" action="<?=$PHP_SELF ?>">
<label>输入区位码
<input name="textfield3" type="text" value="<?=$t3?>" />
</label>
<input type="submit" name="Submit2" value="转换" />
<input name="textfield4" type="text" value="<?=$t4?>" />
</form>
</td>
</tr>
</table>
</body>
</html>
❷ 区位码输入法怎么用
区位输入法是利用区位码进行汉字输入的一种方法,又叫内码输入法。汉字区位码是一个四位的十进制数,属于流水码,不按字的音和形排列每个区位码都对应着一个唯一的汉字或符号,它的前两位叫做区号(或称“区码”),后两位叫做位号(或称“位码”)。例如,“宝”字的区位编码为1706,输入数字1706,就输入了“宝”字。这种数字也是有含义的,它们与每个汉字或字母符号所在的区和位是一一对应的。在区位码汉字输入方法中,汉字编码无重码,在熟练掌握汉字的区位码后,录入汉字的速度是很快的,但若想记忆住全部区位码是相当困难的,常用于录入特殊符号,如制表符、希腊字母等。所以说这种输入法只能供研究用,没有实用价值,建议大家不要学这种输入法,费时费力。若是遇到特殊情况,如需输入发音、字形不规则的汉字、生僻字时,区位输入法便能派上用场了。 附 汉字区位表(GB2312): http://mail.chinahome.org/whois/hzqw.php
❸ 汉字区位码查询器
汉字区位码在线查询系统
http://www.jxust.com/chaxun/quweima.php
如需汉字区位码查询软件,只要在网络搜区位码查询软件网页即可.
❹ 区位码在哪查询
在网络上搜一下区位码久可
❺ 已知“中华”汉字的机内码是D6D0和BBAA,那么它们的国标码和区位码各是多少
中
机内码: D6 D0h = 11010110 11010000b
国标码: 56 50h = 01010110 01010000b(把机内码两个字节的最高位变成0)
区位码: 36 30h(把国际码每个字节减去20h)
转换成10进制来表示:54 48
(注意8位8位的转,不要整体转换10进制)
华(转法同上)
机内码: BB AAh = 10111011 10101010b
国标码: 3B 2Ah = 00111011 00101010b
区位码: 1B 0Ah
转换成10进制表示:27 10
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
在这里可以快速查询到区位码(或通过区位码查询汉字)
❻ 区位码是不是区码编码
为了使每一个汉字有一个全国统一的代码,1980年,我国颁布了第一个汉字编码的国家标准: GB2312-80《信息交换用汉字编码字符集》基本集,这个字符集是我国中文信息处理技术的发展基础,也是目前国内所有汉字系统的统一标准。由于国标码是四位十六进制,为了便于交流,大家常用的是四位十进制的区位码。所有的国标汉字与符号组成一个94×94的矩阵。在此方阵中,每一行称为一个"区",每一列称为一个"位",因此,这个方阵实际上组成了一个有94个区(区号分别为0 1到94)、每个区内有94个位(位号分别为01到94)的汉字字符集。一个汉字所在的区号和位号简单地组合在一起就构成了该汉字的"区位码"。在汉字的区位码中,高(前)两位为区号,低(后)两位为位号。 在区位码中,01-09区为682个特殊字符,16~87区为汉字区,包含6763个汉字 。其中16-55区为一级汉字(3755个最常用的汉字,按拼音字母的次序排列),56-87区为二级汉字(3008个汉字,按部首次序排列)。如:“马”的区位码是 3477,其意为区码34位码77,它是由ASCⅡ码为160+34=194和160+77=237的两个字符组成。 要查询某个汉字或词语的区位码,好多网站提供在线查询系统,如:http://www.jxust.com/chaxun/quweima.php
❼ php 中文转拼音首字母问题
原始代码有些问题,我做了些更改,原地址github 的 chenall/chenall/blob/master/php/tools/ZH-cn_TO_pinyin.php
<?php
/*
中文汉字转拼音首字母的PHP简易实现方法.
要求:只能是GB2312码表里面中文字符
转换得到字符串对应的拼音首字母大写.
用法:
echozh2py::conv('Chinese中华人民共和国');//ChineseZHRMGHG
或
$py=newzh2py;
echo$py->conv('Chinese中华人民共和国');//ChineseZHRMGHG
*/
classzh2py
{
//根据汉字区位表
//我们可以看到从16-55区之间是按拼音字母排序的,所以我们只需要判断某个汉字的区位码就可以得知它的拼音首字母.
//区位表第一部份,按拼音字母排序的.
//16区-55区
/*
'A'=>0xB0A1,'B'=>0xB0C5,'C'=>0xB2C1,'D'=>0xB4EE,'E'=>0xB6EA,'F'=>0xB7A2,'G'=>0xB8C1,'H'=>0xB9FE,
'J'=>0xBBF7,'K'=>0xBFA6,'L'=>0xC0AC,'M'=>0xC2E8,'N'=>0xC4C3,'O'=>0xC5B6,'P'=>0xC5BE,'Q'=>0xC6DA,
'R'=>0xC8BB,'S'=>0xC8F6,'T'=>0xCBFA,'W'=>0xCDDA,'X'=>0xCEF4,'Y'=>0xD1B9,'Z'=>0xD4D1
*/
privatestatic$FirstTable=array(
0xB0C5,0xB2C1,0xB4EE,0xB6EA,0xB7A2,0xB8C1,0xB9FE,0xBBF7,0xBFA6,0xC0AC,0xC2E8,
0xC4C3,0xC5B6,0xC5BE,0xC6DA,0xC8BB,0xC8F6,0xCBFA,0xCDDA,0xCEF4,0xD1B9,0xD4D1,0xD7FA
);
privatestatic$FirstLetter="ABCDEFGHJKLMNOPQRSTWXYZ";
//区位表第二部份,不规则的,下面的字母是每个区里面对应字的拼音首字母.从网上查询整理出来的,可能会有部份错误.
//56区-87区
privatestatic$SecondTable=array(
"JWRDZLSYMRYPYWWCCKZNKYYG",
"KBPHFFSSTYBGMXLPBYLLBHLX",
"DZBXGZNZCPWHWXHQKMWFBPBY",
"TNMAYDDKSSNGYCSGXLYZAYPN",
"QYRBCJTHZTQFRXQHXMQJCJLY",
"JZSRMEBWHJLBJSLYYSMDXLCL",
"QGSZYQYAXBKYSECJSZNSLYZH",
"GMMCLGWZSZXZJFZNMLZZTHCS",
"SPRCHNWJNLHLYYQYYWZPTCZG",
"ZJQSQQAGMNYXPFRKSSBJLYXY",
"CWKCCSBNHCPDYZNFCYYTYCKX",
"DMGBWHWLGSLLYSDLMLXPTHMJ",
"TPMHYXLCHLHLZYLXGSSSSTCL",
"HTZKZJECXJCJNMFBYCSFYWYB",
"XHPLQKZCZWALSBCZJXSYZGWK",
"LDDPMJEGXYHYLXHLQYQHKYCW",
"QTTJHHHJLJAXFGFJZSLCFDQZ",
"LPDJBYREGKLZYZHLYSZQLZNW",
"FCJXDYGJQJJPMGWGJJJPKQSB",
"YFYZDJCNMWESCYGLBTZZGMSS",
"JHFSSXZQHFZMZCZTQCXZXRTT",
"BKZFFXMKDMDSYYSZCMLJDSYN",
"XTBNPDKLEYCJNYCDYKZTDHQH",
"LPCQDHZYCBZSCZBZMSLJFLKR",
"XJYYZLWCXSZFGWYYDLYHCLJS",
"LZCSHLTOLJNMDDDLNGKATHQH",
"PTQWLMCRNFKKFSYYLQBMQAMM",
"ZRQTBDKYXZKHHGFLBCSMDLDG",
"HYMZQQYDFQJJLZZNZJCDGZYG",
"PQCJPFCZLCLZXZDMXMPHJSGZ",
"GSHJQLZFKCGNNNSZFDEQFHBS",
"MQASLDCYXYQDLQCAFYWYXQHZ",
);
publicstaticfunctionutf8_to_gbk($string)//编码转换,必须转换成GB2312字符,这里只是简单的判断并不是很准确,可以自己写一个.
{
if(mb_check_encoding($string,'gb2312'))
return$string;
if(function_exists('iconv'))
returniconv("utf-8","gb2312//IGNORE",$string);
returnmb_convert_encoding($string,'gb2312','utf-8');
}
publicstaticfunctionconv($str)
{
$str=self::utf8_to_gbk($str);
$len=strlen($str);
$newStr='';
for($i=0;$i<$len;++$i)
{
$H=ord($str[$i]);
$L=ord($str[$i+1]);
//字符集非法
if($H<0xB0||$L<0xA1||$H>0xF7||$L==0xFF)
{
$newStr.=$str[$i];
continue;
}
if($H<0xD8)//($H>=0xB0&&$H<=0xD7)//查询文字在一级汉字区(16-55)
{
$W=($H<<8)|$L;
foreach(self::$FirstTableas$key=>$value)
{
if($W<$value)
{
$newStr.=self::$FirstLetter[$key];
break;
}
}
}
else//if(H>=0xD8&&H<=0xF7)//查询中文在二级汉字区(56-87)
$newStr.=self::$SecondTable[$H-0xD8][$L-0xA1];
++$i;
}
return$newStr;
}
}
echozh2py::conv('妃');//F
❽ 怎么用区位码反查汉字
汉字转区位码
区位码转汉字
区位码 汉字 互转 网址
http://www.jxust.com/chaxun/quweima.php
❾ 区位码怎么用
区位输入法是利用区位码进行汉字输入的一种方法,又叫内码输入法。汉字区位码是一个四位的十进制数,属于流水码,不按字的音和形排列每个区位码都对应着一个唯一的汉字或符号,它的前两位叫做区号(或称“区码”),后两位叫做位号(或称“位码”)。例如,“宝”字的区位编码为1706,输入数字1706,就输入了“宝”字。这种数字也是有含义的,它们与每个汉字或字母符号所在的区和位是一一对应的。在区位码汉字输入方法中,汉字编码无重码,在熟练掌握汉字的区位码后,录入汉字的速度是很快的,但若想记忆住全部区位码是相当困难的,常用于录入特殊符号,如制表符、希腊字母等。所以说这种输入法只能供研究用,没有实用价值,建议大家不要学这种输入法,费时费力。若是遇到特殊情况,如需输入发音、字形不规则的汉字、生僻字时,区位输入法便能派上用场了。 附 汉字区位表(GB2312): http://mail.chinahome.org/whois/hzqw.php
❿ 汉字区位码为什么相互转换对不上号
你的工具转区位码不对.
"晶"的区位码是:3007,内码是:BEA7.在区位输入法中输入两者都可以.
"奥"的区位码才是1634.
你用的是什么转换工具?
------------------------------
同意,楼主这个字根本不在GB2312之内,没有区位码的……
中考填名字,会告诉你们没有的字填什么的。