本篇文章是对PHP的ASCII码转换类进行了详细的分析介绍,需要的朋友参考下
复制代码 代码如下:
class ascii
{
function decode($str)
{
preg_match_all( "/(d{2,5})/", $str,$a);
$a = $a[0];
foreach ($a as $dec)
{
if ($dec < 128)
{
$utf .= chr($dec);
}
else if ($dec < 2048)
{
$utf .= chr(192 + (($dec - ($dec % 64)) / 64));
$utf .= chr(128 + ($dec % 64));
}
else
{
$utf .= chr(224 + (($dec - ($dec % 4096)) / 4096));
$utf .= chr(128 + ((($dec % 4096) - ($dec % 64)) / 64));
$utf .= chr(128 + ($dec % 64));
}
}
return $utf;
}
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;
}
浅析PHP的ASCII码转换类
时间: 2024-10-31 17:53:28
浅析PHP的ASCII码转换类的相关文章
浅析PHP的ASCII码转换类_php技巧
复制代码 代码如下: class ascii{function decode($str){ preg_match_all( "/(d{2,5})/", $str,$a); $a = $a[0]; foreach ($a as $dec) { if ($dec < 128) { $utf .= chr($dec); } else if ($dec < 2048)
ascii-如何把字母+数字的ASCII码转换成有效的身份证号码?代码如下
问题描述 如何把字母+数字的ASCII码转换成有效的身份证号码?代码如下 byte[] res = new byte[str.Length / 2]; for (int i = 0; i < str.Length /2; i++) { res[i] = Convert.ToByte(str.Substring(i * 2, 2), 16); continue; } string strNum =System.Text.Encoding.ASCII.GetString(res);//System.
C#字母转换成数字/数字转换成字母 - ASCII码转换
字母转换成数字 byte[] array = new byte[1]; //定义一组数组arrayarray = System.Text.Encoding.ASCII.GetBytes(string); //string转换的字母int asciicode = (short)(array[0]); ASCII码 = Convert.ToString(asciicode); //将转换一的ASCII码转换成string型 数字转换成字母byte[] array = new byte[1];
PHP ASCII码与字符串的相互转换的例子
<?php class ascii { /** * 将ascii码转为字符串 * @param type $str 要解码的字符串 * @param type $prefix 前缀,默认:&# * @return type */ function decode($str, $prefix="&#") { $str = str_replace($prefix, "&quo
ASCII码
看一本书的时候想到的,感觉有点不务正业了,其实我感觉我需要一个全能助手,随时回答我的疑问 ASCII码是用来表示"字符"的.这里的字符包括了0-9九个数字,a-z的26个字母的大小写,各个标点符号,以及回车.空格.退格等一些特殊符号.ASCII 码使用指定的8位二进制数组合来表示,每个ASCII码是一个8位二进制数,一个ASCII码只能表示一个字符. 补码是用来表示带符号数字的.先将十进制数转成相应的二进制数,在最高位前加上0或1代表数字的正负,就产生了数字的原码,再按一定的规则转
php实现图片转换成ASCII码的方法
具体如下: php图片转换成ASCII码,转换后可以直接通过字符串显示图片 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 <html> <head> <title>Ascii</title> <style> body{ line-height:0; font-size:1px; } </s
PHP详解ASCII码对照表与字符转换_php技巧
一,通用的ASCII码对照表 图解ASCII码对照表图,以字符A为例Dec表示十进制,如65Hx表示十六进制,如41Oct表示八进制,如101Char表示显示字符,如A ASCII码对照表图分为两个单元1,控制字符 0-31和1272,可显示字符 32-126(1)48-57为0到9十个阿拉伯数字:(2)65-90为26个大写英文字母:(3)97-122号为26个小写英文字母:(4)其它标点符号.运算符号等: 二,ASCII扩展码对照表 三,PHP字符转换函数说明 具体字符转换函数说明请参考
JS中字符问题(二进制/十进制/十六进制及ASCII码之间的转换)_javascript技巧
var a='11160'; alert(parseInt(a,2)); //将111做为2进制来转换,忽略60(不符合二进制),从左至右只将符合二进制数的进行转换 alert(parseInt(a,16)); //将所有的都进行转换 依照此方法,其实可以转换成任何进制 var a='1110'; alert(parseInt(a,10).toString(16)); //将A转换为10进制,然后再转换成16进制 同样也可以是其它进制 下面说下ASCII 码: function test(){
PHP中ASCII码对照表与字符转换详解
通用的ASCII码对照表 图解ASCII码对照表图,以字符A为例 Dec表示十进制,如65 Hx表示十六进制,如41 Oct表示八进制,如101 Char表示显示字符,如A ASCII码对照表图分为两个单元 1,控制字符 0-31和127 2,可显示字符 32-126 (1)48-57为0到9十个阿拉伯数字: (2)65-90为26个大写英文字母: (3)97-122号为26个小写英文字母: (4)其它标点符号.运算符号等: 二,ASCII扩展码对照表 三,PHP字符转换函数说明 具体字符转