php unicode编码与解码代码
代码语言:php
所属分类:加密解密
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<?php //字符串转Unicode编码 function unicode_encode($strLong) { $strArr = preg_split('/(?<!^)(?!$)/u', $strLong); //拆分字符串为数组(含中文字符) $resUnicode = ''; foreach ($strArr as $str) { $bin_str = ''; $arr = is_array($str) ? $str : str_split($str); //获取字符内部数组表示,此时$arr应类似array(228, 189, 160) 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,如果是汉字"你" $unicode = dechex(bindec($bin_str)); //返回unicode十六进制 $_sup = ''; for ($i = 0; $i < 4 - strlen($unicode); $i++) { $_sup .= '0'; //补位高字节 0 } $str = '\\u' . $_sup . $unicode; //加上 \u 返回 $resUnicode .= $str; } return $resUnicode; } //Unicode编码转字符串方法1 function unicode_decode($name) { // 转换编码,将Unicode编码转换成可以浏览的utf-8编码 $pattern = '/([\w]+)|(\\\u([\w]{4}))/i'; preg_match_all($pattern, $name, $matches); if (!empty($matches)) { $name = ''; for ($j = 0; $j < c.........完整代码请登录后点击上方下载按钮下载查看
网友评论0