Heim >php教程 >php手册 >php反中文汉字转Unicode编码实现程序

php反中文汉字转Unicode编码实现程序

WBOY
WBOYOriginal
2016-05-25 16:54:581128Durchsuche
本文章来给大家介绍php反中文汉字转Unicode编码实现程序方法,有需要了解的朋友可进入参考。

程序

 代码如下 复制代码

/**
 * $str 原始字符串
 * $encoding 原始字符串的编码,默认GBK
 * $prefix 编码后的前缀,默认""
 * $postfix 编码后的后缀,默认";"
 */
function unicode_encode($str, $encoding = 'GBK', $prefix = '', $postfix = ';') {
    $str = iconv($encoding, 'UCS-2', $str);
    $arrstr = str_split($str, 2);
    $unistr = '';
    for($i = 0, $len = count($arrstr); $i         $dec = hexdec(bin2hex($arrstr[$i]));
        $unistr .= $prefix . $dec . $postfix;
    }
    return $unistr;
}
 
/**
 * $str Unicode编码后的字符串
 * $encoding 原始字符串的编码,默认GBK
 * $prefix 编码字符串的前缀,默认""
 * $postfix 编码字符串的后缀,默认";"
 */
function unicode_decode($unistr, $encoding = 'GBK', $prefix = '', $postfix = ';') {
    $arruni = explode($prefix, $unistr);
    $unistr = '';
    for($i = 1, $len = count($arruni); $i         if (strlen($postfix) > 0) {
            $arruni[$i] = substr($arruni[$i], 0, strlen($arruni[$i]) - strlen($postfix));
        }
        $temp = intval($arruni[$i]);
        $unistr .= ($temp     }
    return iconv('UCS-2', $encoding, $unistr);
}

使用范例:

 代码如下 复制代码

//GBK字符串测试
$str = '哈哈';
echo $str.'
';
 
$unistr = unicode_encode($str);
echo $unistr.'
'; // 哈哈
 
$str2 = unicode_decode($unistr);
echo $str2.'
'; //哈哈
 
//UTF-8字符串测试
$utf8_str = iconv('GBK', 'UTF-8', $str);
echo $utf8_str.'
'; // ???? 注:UTF在GBK下显示的乱码!可切换浏览器的编码测试
 
$utf8_unistr = unicode_encode($utf8_str, 'UTF-8');
echo $utf8_unistr.'
'; // 哈哈
 
$utf8_str2 = unicode_decode($utf8_unistr, 'UTF-8');
echo $utf8_str2.'
'; // ????
 
//其它后缀、前缀测试
$prefix_unistr = unicode_encode($str, 'GBK', "u", '');
echo $prefix_unistr.'
'; // u60u98u62u21704u21704u60u47u98u62
 
$profix_unistr2 = unicode_decode($prefix_unistr, 'GBK', "u", '');
echo $profix_unistr2.'
'; //哈哈



教程地址:

欢迎转载!但请带上文章地址^^

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn