<?php /** * $str 原始中文字符串 * $encoding 原始字符串的编码,默认utf-8 * $prefix 编码后的前缀,默认"&#" * $postfix 编码后的后缀,默认";" */ function unicode_encode($str, $encoding = 'utf-8', $prefix = '&#', $postfix = ';') { //将字符串拆分 $str = iconv("UTF-8", "gb2312", $str); $cind = 0; $arr_cont = array(); for ($i = 0; $i < strlen($str); $i++) { if (strlen(substr($str, $cind, 1)) > 0) { if (ord(substr($str, $cind, 1)) < 0xA1) { //如果为英文则取1个字节 array_push($arr_cont, substr($str, $cind, 1)); $cind++; } else { array_push($arr_cont, substr($str, $cind, 2)); $cind+=2; } } } foreach ($arr_cont as &$row) { $row = iconv("gb2312", "UTF-8", $row); } //转换Unicode码 foreach ($arr_cont as $key => $value) { $unicodestr.= $prefix . base_convert(bin2hex(iconv('utf-8', 'UCS-4', $value)), 16, 10) .$postfix; } return $unicodestr; } /** * $str Unicode编码后的字符串 * $decoding 原始字符串的编码,默认utf-8 * $prefix 编码字符串的前缀,默认"&#" * $postfix 编码字符串的后缀,默认";" */ function unicode_decode($unistr, $encoding = 'utf-8', $prefix = '&#', $postfix = ';') { $arruni = explode($prefix, $unistr); $unistr = ''; for ($i = 1, $len = count($arruni); $i < $len; $i++) { if (strlen($postfix) > 0) { $arruni[$i] = substr($arruni[$i], 0, strlen($arruni[$i]) - strlen($postfix)); } $temp = intval($arruni[$i]); $unistr .= ($temp < 256) ? chr(0) . chr($temp) : chr($temp / 256) . chr($temp % 256); } return iconv('UCS-2', $encoding, $unistr); } $str = "PHP二次开发:www.php2.cc"; $unistr = unicode_encode($str); $unistr2 = unicode_decode($unistr); echo $unistr . '<br />'; echo $unistr2 . '<br />'; $unistr = unicode_encode($str,'GBK','\\u'); $unistr2 = unicode_decode($unistr,'GBK','\\u'); echo $unistr . '<br />'; echo $unistr2 . '<br />';
相关推荐
标题中的"php 编码相互转换类(gbk转换utf8)"就是这样一个解决方案,它提供了一种更可靠的方式来将GBK编码的字符串转换为UTF-8编码。这个转换类通常包含一系列方法,用于处理各种编码转换的细节,如错误处理、异常...
风吟PHP Unicode编码转换程序是一个基于PHP开发的工具,主要用于处理和转换Unicode编码。Unicode是一种国际标准,旨在统一世界上各种语言的文字编码,使得不同语言之间的文本数据交换变得简单。在PHP编程中,处理...
"用PHP实现UTF-8和Unicode编码转换的技术.pdf" 本文档主要讨论了使用PHP实现UTF-8和Unicode编码转换的技术。首先,文章对UTF-8和Unicode的编码特征进行了分析,并探索了这两种编码之间的转换关系。然后,使用PHP...
标题"基于PHP的Unicode编码转换程序源码.zip"暗示了我们这里有一个使用PHP编写的程序,它的功能是进行Unicode编码的转换。源码的分享对于开发者来说尤其有价值,因为这提供了一个学习和研究编码转换技术的实际示例。...
转换码表是用来进行不同编码间转换的关键工具,例如,如果你有一个使用GB18030编码的文本文件,而你的系统或程序只支持Unicode,那么就需要一个转换码表来将GB18030编码的文本转换成UTF-8或其他Unicode编码。...
标题 "基于PHP的Unicode编码转换程序.zip" 暗示我们关注的是一个使用PHP语言编写的程序,该程序专门用于处理Unicode编码的转换。Unicode是一种国际标准,它为每个字符定义了一个唯一的数字,使得计算机可以处理全球...
PHP实例开发源码—风吟PHP Unicode编码转换程序.zip PHP实例开发源码—风吟PHP Unicode编码转换程序.zip PHP实例开发源码—风吟PHP Unicode编码转换程序.zip
这个"PHP实例开发源码—PHP Unicode编码转换程序.zip"文件是一个关于如何在PHP中处理Unicode编码的实践案例。 在PHP中,Unicode编码的处理涉及到字符串的编码和解码。PHP提供了多个函数来处理这种编码转换,如`mb_...
Unicode编码相互转换在处理多语言或者中文字符时特别有用。本篇将详细解释如何使用PHP实现Unicode编码的转换,包括从Unicode编码到其他编码(如UTF-8、GBK等)以及从其他编码到Unicode编码的过程。 首先,我们来看`...
3. UTF-8:一种变长的Unicode编码,用1到4个字节表示一个字符。对于ASCII字符,UTF-8编码与ASCII相同,都是单字节。UTF-8的特殊之处在于它包含一个字节顺序标记(BOM),即UTF-8+BOM,但大多数情况下,UTF-8无BOM更...
用于在PHP无法使用 iconv 函数和 mb_string 库的情况下,实现GB2312与UNICODE的相互转换。 正确转换的前提是你的系统是简体中文版的Windows。 包内附加一个UNICODE转换为GB2312的函数,看看里面的函数就明白了。 有...
例如,如果你有一个只包含英文的ASCII文本,而你想要添加一些中文字符,那么就需要将这些新增的字符转换为UNICODE编码。这个过程可能涉及到文本编辑器、编程语言的字符串处理函数,或者专门的转换工具。在编程中,...
本文将详细介绍如何在PHP中实现Unicode和UTF-8编码的相互转换,同时解析这两种编码的区别。 Unicode是一个字符集,它包含了世界上几乎所有的字符,包括各种语言、特殊符号等。Unicode使用固定长度的双字节来表示每...
这个压缩包提供的类库专门用于处理GBK和UTF8编码的字符串,并将其转换为Unicode编码,反之亦然。下面我们将深入探讨字符串编码转换的相关知识以及如何使用这个PHP类库。 Unicode是一种广泛使用的字符编码标准,它...
本篇文章将探讨ASCII字符转换,特别是如何处理汉字及特殊字符,并涉及宽字符(如UTF-8和Unicode编码)的相关知识。 首先,ASCII是一种基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它包含...
### PHP 制作 Unicode 解码工具 (Unicode 编码转换器) 代码解析与知识点 #### 一、Unicode 编码简介 Unicode 是一种国际字符集标准,旨在为所有语言中的字符提供统一的编码方式。它支持世界上几乎所有的书写系统,...
在这个"ajax_example"项目中,我们将深入探讨如何在PHP环境中使用Ajax来实现Unicode编码的中文字符转换。 首先,我们了解Unicode。Unicode是一种字符集,包含了世界上几乎所有的文字系统,每个字符都有一个唯一的...
Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。Unicode用数字0-0x10FFFF来映射这些字符,最多可以容纳1114112个字符,或者说有...UTF-8、UTF-16、UTF-32都是将数字转换到程序数据的编码方案。