知识大全 用PHP实现GB2312和Unicode间的编码转换
Posted 函数
篇首语:书籍是青年人不可分离的生活伴侣和导师。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 用PHP实现GB2312和Unicode间的编码转换相关的知识,希望对你有一定的参考价值。
用PHP实现GB2312和Unicode间的编码转换 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
gb 和 unicode 间的编码转换 下面的例子是将 gb 转换为 &# ; 这种形式 php 以后的iconv函数很好用的 只是需要自己写一个uft 到unicode的转换函数 查表(gb txt)也行 <? $text = 电子书库 ; preg_match_all( /[\\x \\xff]? / $text $ar); foreach($ar[ ] as $v) echo &# utf _unicode(iconv( GB UTF $v)) ; ; ?> <? // utf > unicode function utf _unicode($c) switch(strlen($c)) case : return ord($c); case : $n = (ord($c[ ]) & x f) << ; $n += ord($c[ ]) & x f; return $n; case : $n = (ord($c[ ]) & x f) << ; $n += (ord($c[ ]) & x f) << ; $n += ord($c[ ]) & x f; return $n; case : $n = (ord($c[ ]) & x f) << ; $n += (ord($c[ ]) & x f) << ; $n += (ord($c[ ]) & x f) << ; $n += ord($c[ ]) & x f; return $n; ?> 下面的例子是利用php将 &# ; 这中编码转换为gb <?php $str = TTL&# ;&# ;&# ;&# ;&# ;&# ;&# ; ; $str = preg_replace( |&#([ ] );| \\ u utf gb(\\\\ ) \\ $str); $str = \\$str=\\ $str\\ ; ; eval($str); echo $str; function u utf gb($c) $str= ; if ($c < x ) $str =$c; else if ($c < x ) $str =chr( xC | $c>> ); $str =chr( x | $c & x F); else if ($c < x ) $str =chr( xE | $c>> ); $str =chr( x | $c>> & x F); $str =chr( x | $c & x F); else if ($c < x ) $str =chr( xF | $c>> ); $str =chr( x | $c>> & x F); $str =chr( x | $c>> & x F); $str =chr( x | $c & x F); return iconv( UTF GB $str); ?> 或者是 function unescape($str) $str = rawurldecode($str); preg_match_all( /(?:%u )|&#x ;|&#\\d+;| +/U $str $r); $ar = $r[ ]; print_r($ar); foreach($ar as $k=>$v) if(substr($v ) == %u ) $ar[$k] = iconv( UCS GB pack( H substr($v ))); elseif(substr($v ) == &#x ) $ar[$k] = iconv( UCS GB pack( H substr($v ))); elseif(substr($v ) == &# ) echo substr($v ) <br> ; $ar[$k] = iconv( UCS GB pack( n substr($v ))); return join( $ar); $str = TTL&# ;&# ;&# ;&# ;&# ;&# ;&# ; ; echo unescape($str); //out TTL全天候自动聚焦 利用javascript来转换 <style> BODY FONT SIZE: pt; PADDING RIGHT: px; PADDING LEFT: px; PADDING BOTTOM: px; PADDING TOP: px; input FONT SIZE: pt; height: pt; </style> <script language= JavaScript > /* This following code are designed and writen by Windy_sk <> You can use it freely but u must held all the copyright items! */ function Str Unicode(str) var arr = new Array(); for(var i= ;i<str length;i++) arr[i]= &# + str charCodeAt(i) + ; ; return(arr toString() replace(/ /g )); function Unicode oStr(str) var re=/&#[\\da fA F] ;/ig; var arr=str match(re); if(arr==null)return( ); for(var i= ;i<arr length;i++) arr[i]=String fromCharCode(arr[i] replace(/[&#;]/g )); return(arr toString() replace(/ /g )) function modi_str() if(dthod checked) if(document all text decode value!= ) document all text encode value = Str Unicode(document all text decode value); else document all text decode value = Unicode oStr(document all text encode value); else if(document all text encode value!= ) document all text decode value = Unicode oStr(document all text encode value); else document all text encode value = Str Unicode(document all text decode value); </script> <title>Unicode</title> <form name=text> 文本原型 <br> <textarea name= decode cols= rows= ></textarea> <br> 转换代码 <br> <textarea name= encode cols= rows= ></textarea> <br> <input type= checkbox name= method checked> 正向转换 <input type=button onclick= modi_str() value= 确 定 > <input type=reset value= 清 空 > <input type=button onclick= dthod checked?document all text encode select():document all text decode select() value= 全 选 > </form> 下面是一个显示所有全角半角的字体的查看例子 <style> BODY FONT SIZE: pt; PADDING RIGHT: px; PADDING LEFT: px; PADDING BOTTOM: px; PADDING TOP: px; input FONT SIZE: pt; height: pt; </style> <script> function showUni(min max) show document open(); show document writeln( <style>bodyfont size: pt;word break:break all;</style> ); show document writeln(min + + max + <br><br> ); var i= ; for(i=min;i<=max;i++) show document write( &# + i + ; ); show document close(); </script> <input type=button value= 半角 onclick=showUni( )> <input type=button value= 全角 onclick=showUni( )> <input type=button value= 中文 onclick=showUni( )> <input type=button value= 中文 onclick=showUni( )> <input type=button value= 日文平 onclick=showUni( )> <input type=button value= 日文片 onclick=showUni( )> <input type=button value= 韩文 onclick=showUni( )> <br>自定义 <input name=min> <input name=max> <input type=button value= 察看 onclick=showUni(parseInt(document all min value) parseInt(document all max value))> <br> <iframe src= about:blank id=show width= % height= % scroll=no></iframe> 下面是一个查表(gb ) 转换gb 到utf 的例子 现在有iconv函数 这个已经没有太大的意义了 <? function gb utf ($gb) if(!trim($gb)) return $gb; $filename= gb txt ; $tmp=file($filename); $codetable=array(); while(list($key $value)=each($tmp)) $codetable[hexdec(substr($value ))]=substr($value ); $utf = ; while($gb) if (ord(substr($gb ))> ) $this=substr($gb ); $gb=substr($gb strlen($gb) ); $utf =u utf (hexdec($codetable[hexdec(bin hex($this)) x ])); else $this=substr($gb ); $gb=substr($gb strlen($gb) ); $utf =u utf ($this); return $utf ; function u utf ($c) $str= ; if ($c < x ) $str =$c; else if ($c < x ) $str =chr( xC | $c>> ); $str =chr( x | $c & x F); else if ($c < x ) $str =chr( xE | $c>> ); $str =chr( x | $c>> & x F); $str =chr( x | $c & x F); else if ($c < x ) $str =chr( xF | $c>> ); $str =chr( x | $c>> & x F); $str =chr( x | $c>> & x F); $str =chr( x | $c & x F); return $str; ?> cha138/Article/program/PHP/201311/20820相关参考
Java中编码以及Unicode总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 基本概念
PHP中的UNICODE编码与解码 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!本篇文章是对PHP
知识大全 Unicode编码 解释UCS、UTF、BMP、BOM
Unicode编码解释UCS、UTF、BMP、BOM 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
asp把UTF8转换GB2312代码 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 个人代码风格
C#中将Big5繁体转换简体GB2312的代码 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb
C#中将Big5繁体转换简体GB2312的程序 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! u
知识大全 在Java中将数据由UTF8转换成GB2312格式
Java进阶:在Java中将数据由UTF8转换成GB2312格式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起
浅析PHP中的字符串编码转换(自动识别原编码) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!本篇文
编码方案.编码和解码 数据压缩过程称为编码即将文件中的每个字符均转换为一个惟一的二进制位串 数据解压过程称为解码即将二进制位串转换为对应的字符.等长编码方案和变长编码方案 给定的字符集C可能存在
Delphi开发技巧:ASCII码与编码转换[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&