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;
?>
相关文档:
<?php
header("content-type:image/png");
$img=ImageCreate(100,35);
$bgcolor=ImageColorAllocate($img,0,0,0);
$red=ImageColorAllocate($img,255,0,0);
$bgcolortrans=ImageColorTransparent($img,$bgcolor);
ImageString($img,5,10,10,"PNG PHP",$red);
ImagePng($img);
ImageDestro ......
1.如果一个方法能被静态,那就声明他为静态的,速度可提高1/4;
2.echo的效率高于print,因为echo没有返回值,print返回一个整型;
3.在循环之前设置循环的最大次数,而非在在循环中;
4.销毁变量去释放内存,特别是大的数组;
5.避免使用像__get, __set, __autoload等魔术方法;
6.requiere_once()比较 ......
作用是把形如: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
这些是常用的字符串操作函数, ......