【php怎么将接受到的字节流转为Unicode编码】教程文章相关的互联网学习教程文章

php UTF-8、Unicode和BOM问题【图】

一、介绍 UTF-8 是一种在web应用中经常使用的一种 Unicode 字符的编码方式,使用 UTF-8 的好处在于它是一种变长的编码方式,对于 ANSII 码编码长度为1个字节,这样的话在传输大量 ASCII 字符集的网页时,可以大量节约网络带宽。 UTF-8签名(UTF-8 signature)也叫做BOM(Byte Order Mark),是UTF编码方案里用于标识编码的标准标记。BOM,是UTF编码方案里用于标识编码的标准标记,在UTF-16里本来是FF FE,变成UTF-8就成了EF BB BF。...

让Json更懂中文(JSON_UNESCAPED_UNICODE)

代码如下:<?php echo json_encode("中文"); //"\u4e2d\u6587" 这就让我们这些在天朝做开发的同学, 很是头疼, 有的时候还不得不自己写json_encode. 而在PHP5.4, 这个问题终于得以解决, Json新增了一个选项: JSON_UNESCAPED_UNICODE, 故名思议, 就是说, Json不要编码Unicode. 看下面的例子: 代码如下:<?php echo json_encode("中文", JSON_UNESCAPED_UNICODE); //"中文" 怎么样, 是不是让大家很开心的改动? 呵呵, 当然, Json在5....

浅析PHP中的UNICODE 编码与解码

方法一: 代码如下:<?phpfunction unicode_encode($name){ $name = iconv('UTF-8', 'UCS-2', $name); $len = strlen($name); $str = ''; for ($i = 0; $i < $len - 1; $i = $i + 2) { $c = $name[$i]; $c2 = $name[$i + 1]; if (ord($c) > 0) { //两个字节的文字 $str .= '\u'.base_convert(ord($c), 10, 16).str_pad(base_convert(ord($c2), 10, 16), 2, 0, STR_PAD_LEFT...

简单谈谈php中的unicode和utf8编码【图】

重新认识unicode和utf8编码 直到今天,准确的说是刚才,我才知道UTF-8编码和Unicode编码是不一样的,是有区别的囧 他们之间是有一定的联系的,看看他们的区别: UTF-8的长度是不一定的,有可能是1、2、3字节 Unicode长度一定,2个字节(USC-2) UTF-8可以和Unicode互相转换 unicode和utf8的关系 Unicode(16进制) UTF-8(二进制) 0000 - 007F 0xxxxxxx 0080 - 07FF 110xxxxx 10xxxxxx 0800 - FFFF 1110xxxx 10xxxxxx 10xxxxxx 上面...

PHP如何实现Unicode和Utf-8编码相互转换

最近恰好要用到unicode编码的转换,就去查了一下php的库函数,居然没找到一个函数可以对字符串进行Unicode的编码和解码!也罢,找不到的话就自己实现一下了。。。 Unicode和Utf-8编码的区别 Unicode是一个字符集,而UTF-8是Unicode的其中一种,Unicode是定长的都为双字节,而UTF-8是可变的,对于汉字来说Unicode占有的字节比UTF-8占用的字节少1个字节。Unicode为双字节,而UTF-8中汉字占三个字节。 UTF-8编码字符理论上可以最多到6...

php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案

PHP5.4才支持JSON_UNESCAPED_UNICODE这个参数,此参数是让中文字符在json_encode的时候不用转义,减少数据传输量。但在PHP5.3中,就得自己写个函数来实现,以下就是解决方法: /** * 对变量进行 JSON 编码 * @param mixed value 待编码的 value ,除了resource 类型之外,可以为任何数据类型,该函数只能接受 UTF-8 编码的数据 * @return string 返回 value 值的 JSON 形式 */ function json_encode_ex($value) {if (version_compa...

用PHP将Unicode 转化为UTF-8的实现方法(推荐)

实例如下: function unescape($str) {$str = rawurldecode($str);preg_match_all("/(?:%u.{4})|&#x.{4};|&#\d+;|.+/U",$str,$r);$ar = $r[0];//print_r($ar);foreach($ar as $k=>$v) {if(substr($v,0,2) == "%u"){$ar[$k] = iconv("UCS-2BE","UTF-8",pack("H4",substr($v,-4)));}elseif(substr($v,0,3) == "&#x"){$ar[$k] = iconv("UCS-2BE","UTF-8",pack("H4",substr($v,3,-1)));}elseif(substr($v,0,2) == "&#") {$ar[$k] = ico...

PHP中对汉字进行unicode编码和解码的实现方法(必看)

实例如下: //将内容进行UNICODE编码 function unicode_encode($name) {$name = iconv(UTF-8, UCS-2, $name);$len = strlen($name);$str = ;for ($i = 0; $i < $len - 1; $i = $i + 2){$c = $name[$i];$c2 = $name[$i + 1];if (ord($c) > 0){ // 两个字节的文字$str .= \u.base_convert(ord($c), 10, 16).base_convert(ord($c2), 10, 16);}else{$str .= $c2;}}return $str; } $name = MY,你大爷的; $unicode_name=unicode_encode(...

PHP实现Unicode编码相互转换的方法示例

本文实例讲述了PHP实现Unicode编码相互转换的方法。分享给大家供大家参考,具体如下: <?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 < ...

用PHP去掉文件头的Unicode签名(BOM)方法

废话不多说,直接上代码 <?php//此文件用于快速测试UTF8编码的文件是不是加了BOM,并可自动移除//By Bob Shen$basedir="."; //修改此行为需要检测的目录,点表示当前目录$auto=1; //是否自动移除发现的BOM信息。1为是,0为否。//以下不用改动if ($dh = opendir($basedir)) {while (($file = readdir($dh)) !== false) {if ($file!=. && $file!=.. && !is_dir($basedir."/".$file)) echo "filename: $file ".checkBOM("$basedir/$fi...

PHP学习之unicode与普通字符串的如何相互转化【代码】

本篇文章主要讲述了unicode与普通字符串的相互转化,具有一定参考价值,感兴趣的朋友了解一下。unicode转字符串方法一:json/*** unicode转字符串,通过json转化* @param $str* @return string*/function unicode_decode_by_json($str){$json = {"str":" . $str . "};$arr = json_decode($json, true);if (empty($arr)) return ;return $arr[str];}方法二:/*** unicode转中文* @param $data* @return null|string|string[]*/funct...

PHP解密Unicode及Escape加密字符串

本文给大家分享一个PHP解密Unicode及Escape加密字符串函数 <?php function uni_decode($s) { preg_match_all(/\&\#([0-9]{2,5})\;/, $s, $html_uni); preg_match_all(/[\\\%]u([0-9a-f]{4})/ie, $s, $js_uni); $source = array_merge($html_uni[0], $js_uni[0]); $js = array(); for($i=0;$i<count($js_uni[1]);$i++) { $js[] = hexdec($js_uni[1][$i]); } $utf8 = array_merge($html_uni[1], $js); $code = $s; for($...

php实现utf-8转unicode函数分享

代码很简单,功能却很实用,推荐给大家。 奉上代码先:代码如下: public function utf8_unicode($str) { $unicode = array(); $values = array(); $lookingFor = 1; for ($i = 0; $i < strlen( $str ); $i++ ) { $thisValue = ord( $str[ $i ] ); if ( $thisValue < ord(A) ) { // exclude 0-9 if ($thisValue >= ord(0) && $thisValue <= ord(9)) { //...

PHP解码unicode编码的中文字符代码分享

问题背景: 晚上在抓取某网站数据,结果在数据包中发现了这么一串编码的数据:"......\u65b0\u6d6a\u5fae\u535a......", 这其实是中文被unicode编码后了的数据,我现在就是想解码出中文来,上度娘搞了半天,试了很多的姿(方)势(法),终于搞定了。 解决方案: 呵呵,老外就是给力啊, 猛戳这里看老外给的解决方案 方案A(稳定版+推荐):function replace_unicode_escape_sequence($match) {return mb_convert_encoding(pack(H*, ...

php制作unicode解码工具(unicode编码转换器)代码分享

代码如下:<?phpfunction unicode_encode($name){ $name = iconv(UTF-8, UCS-2, $name); $len = strlen($name); $str = ; for ($i = 0; $i < $len - 1; $i = $i + 2) { $c = $name[$i]; $c2 = $name[$i + 1]; if (ord($c) > 0) { //两个字节的文字 $str .= \u.base_convert(ord($c), 10, 16).str_pad(base_convert(ord($c2), 10, 16), 2, 0, STR_PAD_LEFT); } ...