很多站长朋友们都不太清楚jsphpasc码,今天小编就来给大家整理jsphpasc码,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php 如果知道一个汉字的ASC码,如何把它转换为汉字呢 2、 php中咋样把字符串转化为asc码 3、 php验证字符串是不是asc码 4、 求php获取首字母方法 php 如果知道一个汉字的ASC码,如何把它转换为汉字呢汉字可以被转换为unicode,示例:
<?php
/**
* @Author: suifengtec
* @Date: 2015-03-16 03:03:57
* @Last Modified by: suifengtec
* @Last Modified time: 2015-03-16 03:12:24
*/
// utf8 - unicode
function utf8_unicode($c) {
switch(strlen($c)) {
case 1:
return ord($c);
case 2:
$n = (ord($c[0]) 0x3f) << 6;
$n += ord($c[1]) 0x3f;
return $n;
case 3:
$n = (ord($c[0]) 0x1f) << 12;
$n += (ord($c[1]) 0x3f) << 6;
$n += ord($c[2]) 0x3f;
return $n;
case 4:
$n = (ord($c[0]) 0x0f) << 18;
$n += (ord($c[1]) 0x3f) << 12;
$n += (ord($c[2]) 0x3f) << 6;
$n += ord($c[3]) 0x3f;
return $n;
}
}
// unicode - utf8
function u2utf8($c) {
$str="";
if ($c < 0x80) $str.=$c;
else if ($c < 0x800) {
$str.=chr(0xC0 | $c>>6);
$str.=chr(0x80 | $c 0x3F);
} else if ($c < 0x10000) {
$str.=chr(0xE0 | $c>>12);
$str.=chr(0x80 | $c>>6 0x3F);
$str.=chr(0x80 | $c 0x3F);
} else if ($c < 0x200000) {
$str.=chr(0xF0 | $c>>18);
$str.=chr(0x80 | $c>>12 0x3F);
$str.=chr(0x80 | $c>>6 0x3F);
$str.=chr(0x80 | $c 0x3F);
}
return $str;
}
//HTML输出为unicode,显示为汉字
function encode($c){
$len = strlen($c);
$a = 0;
while ($a < $len)
{
$ud = 0;
if (ord($c{$a}) >=0 ord($c{$a})<=127)
{
$ud = ord($c{$a});
$a += 1;
}
else if (ord($c{$a}) >=192 ord($c{$a})<=223)
{
$ud = (ord($c{$a})-192)*64 + (ord($c{$a+1})-128);
$a += 2;
}
else if (ord($c{$a}) >=224 ord($c{$a})<=239)
{
$ud = (ord($c{$a})-224)*4096 + (ord($c{$a+1})-128)*64 + (ord($c{$a+2})-128);
$a += 3;
}
else if (ord($c{$a}) >=240 ord($c{$a})<=247)
{
$ud = (ord($c{$a})-240)*262144 + (ord($c{$a+1})-128)*4096 + (ord($c{$a+2})-128)*64 + (ord($c{$a+3})-128);
$a += 4;
}
else if (ord($c{$a}) >=248 ord($c{$a})<=251)
{
$ud = (ord($c{$a})-248)*16777216 + (ord($c{$a+1})-128)*262144 + (ord($c{$a+2})-128)*4096 + (ord($c{$a+3})-128)*64 + (ord($c{$a+4})-128);
$a += 5;
}
else if (ord($c{$a}) >=252 ord($c{$a})<=253)
{
$ud = (ord($c{$a})-252)*1073741824 + (ord($c{$a+1})-128)*16777216 + (ord($c{$a+2})-128)*262144 + (ord($c{$a+3})-128)*4096 + (ord($c{$a+4})-128)*64 + (ord($c{$a+5})-128);
$a += 6;
}
else if (ord($c{$a}) >=254 ord($c{$a})<=255)
{ //error
$ud = false;
}
$scill = "#$ud;";
}
return $scill;
}
//TEST
$a=utf8_unicode('酷');
echo u2utf8($a).u2utf8('威');
echo encode('普'); // #26222; 要:右键->查看源代码 可见
----------
浏览器显示:
右键->查看源代码:
php中咋样把字符串转化为asc码将字串逐个截取,对单个字符用ord()取ascii,再将得到的ascii组合。
php验证字符串是不是asc码echo mb_detect_encoding($str, array("ASCII")) == 'ASCII' ? '是' : '不是';
求php获取首字母方法function ($str){
$s1 = iconv('UTF-8','gb2312',$str);
$s2 = iconv('gb2312','UTF-8',$s1);
$s = $s2 == $str ? $s1 : $str;
$asc = ord($s{0}) * 256 + ord($s{1}) - 65536;
if($asc >= -20319 $asc <= -20284) return 'a';
if($asc >= -20283 $asc <= -19776) return 'b';
if($asc >= -19775 $asc <= -19219) return 'c';
if($asc >= -19218 $asc <= -18711) return 'd';
if($asc >= -18710 $asc <= -18527) return 'e';
if($asc >= -18526 $asc <= -18240) return 'f';
if($asc >= -18239 $asc <= -17923) return 'g';
if($asc >= -17922 $asc <= -17418) return 'h';
if($asc >= -17417 $asc <= -16475) return 'j';
if($asc >= -16474 $asc <= -16213) return 'k';
if($asc >= -16212 $asc <= -15641) return 'l';
if($asc >= -15640 $asc <= -15166) return 'm';
if($asc >= -15165 $asc <= -14923) return 'n';
if($asc >= -14922 $asc <= -14915) return 'o';
if($asc >= -14914 $asc <= -14631) return 'p';
if($asc >= -14630 $asc <= -14150) return 'q';
if($asc >= -14149 $asc <= -14091) return 'r';
if($asc >= -14090 $asc <= -13319) return 's';
if($asc >= -13318 $asc <= -12839) return 't';
if($asc >= -12838 $asc <= -12557) return 'w';
if($asc >= -12556 $asc <= -11848) return 'x';
if($asc >= -11847 $asc <= -11056) return 'y';
if($asc >= -11055 $asc <= -10247) return 'z';
return null;
};
这是一个传入汉字,通过汉字的ASCII码来判断汉字的首字母的方法。已经调试,可以直接使用。望测试。
关于jsphpasc码的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。