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 ......
面向对象编程的方法中,为了实现对象间的松耦合,其中一种简单的原则就是将应用策略与功能实现分离。常常用到的设计模式有factory、facade等,而当中的核心编程技术就是callback技术。
所谓callback技术,简单的说就是将函数的作为一个参数传递给另外一个函数,并被该函数所调用。
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) {
......
得到客户端的IP(php)
作者: laoyuanyyw 发表日期: 2006-08-01 10:43 文章属性: 原创 复制链接
function get_client_ip()
{
if(getenv('HTTP_CLIENT_IP'))
{
$client_ip = getenv('HTTP_CLIENT_IP');
}
elseif(getenv('HTTP_X_FORWARDED_FOR'))
{
$client_ip = getenv('HTTP_X_FORWARDED_FOR');
}
elseif ......
上传jar手机游戏客户端时,因为有些手机如三星的某些机型只能安装jad文件,所以在后台上传需弄一个根据JAR文件自动生成JAD的功能。一般在JAR的文件包内,会有一个游戏信息文件,一般会在META-INF/MANIFEST.MF里,我们只需要读取到这个文件的内容,然后增加一些其它信息,生成JAD文件里就行了。这里需要用到PHP的zip扩展来 ......