php 汉字转化成 二进制 十进制 十六进制 数字
<?php
/**
* 把一个汉字转为unicode的通用函数,不依赖任何库,和别的自定义函数,但有条件
* 条件:本文件以及函数的输入参数应该用utf-8编码,不然要加函数转换
* 其实亦可轻易编写反向转换的函数,甚至不局限于汉字,奇怪为什么PHP没有现成函数
* @author xieye
*
* @param {string} $word 必须是一个汉字,或代表汉字的一个数组(用str_split切割过)
* @return {string} 一个十进制unicode码,如4f60,代表汉字 “你”
*
* @example
echo "你 ".getUnicodefromOneUTF8("你");
echo "<br />";
echo "好 ".getUnicodefromOneUTF8("好");
echo "<br />";
echo "你好 ".getUnicodefromOneUTF8("你好");
echo "<br />";
echo "你好吗 ".getUnicodefromOneUTF8("你好吗");
你 20320
好 22909
你好 251503099357000
你好吗 4.21952182258E+21
*/
function getUnicodefromOneUTF8($word) {
//获取其字符的内部数组表示,所以本文件应用utf-8编码!
if (is_array( $word))
$arr = $word;
else
$arr = str_split($word);
//此时,$arr应类似array(228, 189, 160)
//定义一个空字符串存储
$bin_str = '';
//转成数字再转成二进制字符串,最后联合起来。
foreach ($arr as $value)
$bin_str .= decbin(ord($value));
//此时,$bin_str应类似111001001011110110100000,如果是汉字"你"
//正则截取
$bin_str = preg_replace('/^.{4}(.{4}).{2}(.{6}).{2}(.{6})$/','$1$2$3', $bin_str);
//此时, $bin_str应类似0100111101100000,如果是汉字"你"
return bindec($bin_str);
//返回类似20320, 汉字"你"
//return dechex(bindec($bin_str));
//如想返回十六进制4f60,用这句
}
echo "你 ".getUnicodefromOneUTF8("你");
echo "<br />";
echo "好 ".getUnicodefromOneUTF8("好");
echo "<br />";
echo "你好 ".getUnicodefromOneUTF8("你好");
echo "<br />";
echo "你好吗 ".getUnicodefromOneUTF8("你好吗");
exit;
?>
相关文档:
近日因公司开发需要,在本机Win7下架设了Apache+MySql+PHP
所使用PHP版本:PHP5.3.0, 之后发现无法连接mysql数据库,均报超时错误:
PHP Warning: mysqli::mysqli(): [2002] A connection attempt failed because the connected party did not (trying to connect via tcp://localhost:3306) in xxx.php on line x
PHP Warni ......
作为一个php程序员来说。。有什么是我们应该知道的呢?
首先来说一下。php之所以能够在国内走红。。其最重要的一点就是他是开源的。好多优秀的东西都可以免费的拿来用。现在市面上有那么都的php开源产品。当我们需要做一个相关的网站的时候。只要把人家的产品拿过来。根据自己的需要做二次开发就可以了。。从而使php项目的 ......
作用是把形如:www.abc.com/index.php/blog/show 的地址美化成 www.abc.com/blog/show ,使用$_SERVER['PATH_INFO']接收变量。
server
{
listen 80;
server_name myweb;
index index.html index.htm index.php;
root /home/zhaowei/code;
if (!-f $request_filename) {
......
PHP中的字符串操作功能是比较多的,重要的有以下这些:
(1)echo,print,printf,sprintf
前两个函数是输出字符串.字符串中如果有变量名则被替换成其值. 后两个函数类似于C的同名函数.
(2)strchr,strlen,strtok,strrchr,strrev,strstr,strtolower, strtoupper,substr,ucfirst
这些是常用的字符串操作函数, ......