介绍
怎么在php中将unicode编码转换为字符串?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
//字符串unicode编转码 function unicode_encode (strLong美元),{ ,strArr 美元;=,preg_split (& # 39;/(? & lt; ! ^)(? !)美元/u # 39;,, strLong美元);//拆分字符串为数组(含中文字符) ,resUnicode 美元;=,& # 39;& # 39;; ,foreach (strArr 美元;as  str美元) ,{ ,,bin_str 美元;=,& # 39;& # 39;; ,,arr 美元;=,is_array (str)美元,?,str 美元;:,函数(str);//获取字符内部数组表示,此时美元arr应类似数组(228,,189,,160) ,,foreach (arr 美元;as 美元值) ,,{ ,,,,bin_str 美元。=,函数(奥德(值)美元);//转成数字再转成二进制字符串,美元bin_str应类似111001001011110110100000,如果是汉字“你“ ,,} bin_str 美元,,,=,preg_replace(& # 39;/^。{4}({4})。{2}({6})。{2}({6})/美元& # 39;,,& # 39;$ 1 $ 2 $ 3 & # 39;,,bin_str美元);//正则截取,,美元bin_str应类似0100111101100000,如果是汉字“你“ ,,unicode 美元;=,函数(bindec (bin_str美元));//返回unicode十六进制 ,,_sup 美元;=,& # 39;& # 39;; ,,for ($小姐:=,0;,美元小姐:& lt;, 4,安康;strlen (unicode);,我+ +)美元 ,,{ ,,,,_sup 美元。=,& # 39;0 & # 39;;//补位高字节,0 ,,} ,,str 美元;=,& # 39;\ \ u # 39;,只_sup 美元;只unicode美元;,//加上,\ u 返回 ,,resUnicode 美元。=,str美元; ,} ,return resUnicode美元; }//Unicode编码转字符串方法1 function unicode_decode(名称) { ,//转换编码,将Unicode编码转换成可以浏览的utf - 8编码 ,pattern 美元;=,& # 39;/((\ w) +) | (\ \ \ u ((\ w){4}))/我# 39;; ,preg_match_all(模式,美元,美元的名字,,$ matches); (!,if 空($ matches)) ,{ 时间=美元才能name & # 39; & # 39;; for 才能;(j 美元;=,0;,j 美元;& lt;, count ($ matches [0]);, $ j + +) {才能 ,,str 美元;=,$ matches [0] [j]美元; ,,if (大小写敏感(str美元,& # 39;\ \ u # 39;),===, 0) ,,{ ,,,code 美元;=,base_convert (substr (str美元,,2,,2),,16日,10); ,,,code2 美元;=,base_convert (substr (str美元,,4),16日,10); ,,,c 美元;=,(代码)美元从而向.chr ($ code2); ,,,c 美元;=,iconv (& # 39; ucs - 2 # 39;,, & # 39; utf - 8 # 39;,,美元c); ,,,name 美元。=,$ c; ,,} 其他的,, ,,{ ,,,name 美元。=,str美元; ,,} ,,} ,} ,return $名称; }//Unicode编码转字符串 美元function unicode_decode2 (str) { ,json 美元;=,& # 39;{“str":“& # 39;,只str 美元;只& # 39;“}& # 39;; ,arr 美元;=,json_decode (json,美元,真的); (空,if  (arr)美元),return & # 39; & # 39;; ,return arr美元[& # 39;str # 39;]; } echo unicode_encode (& # 39; & # 39;), & # 39; & lt; br> & # 39;;//结果\ u82e5 \ u6c34 \ u5c0f \ u7ad9 \ u003a \ u0071 \ u0071 \ u0039 \ u0036 \ u0033 \ u0030 \ u0038 \ u0037 \ u0033 \ u0032 \ u0036 echo unicode_decode (& # 39; \ u82e5 \ u6c34 \ u5c0f \ u7ad9 \ u003a \ u0071 \ u0071 \ u0039 \ u0036 \ u0033 \ u0030 \ u0038 \ u0037 \ u0033 \ u0032 \ u0036& # 39;);
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。