百科生活 投稿
关于【unicode编码转换中文】:unicode编码转换(unicode编码转换工具),今天小编给您分享一下,如果对您有所帮助别忘了关注本站哦。
- 内容导航:
- 1、php将unicode编码转为utf-8方法
- 2、unicode编码转换中文:unicode编码转换(unicode编码转换工具)
- 3、怎样将unicode编码转换为中文
- 4、如何转换下面的 unicode 编码
- 5、unicode该怎么转换
1、php将unicode编码转为utf-8方法
介绍
在前端开发中,为了让中文在不同的环境下都能很好的显示,一般是将中文转化为unicode格式,即\u4f60,比如:"你好啊"的unicode编码为"\u4f60\u597d\u554a"。
JS里将中文转为unicode编码很简单。
function convert2Unicode(str) {return str.replace(/[\u0080-\uffff]/g,function($0) {var tmp = $0.charCodeAt(0).toString(16);return "\u" + new Array(5 - tmp.length).join('0') + tmp;});}
反转也很简单,直接alert出来或者innerHTML到dom节点里都可以。
但如果将\u4f60\u597d\u554a"字符传递给php,php就不能直接echo或者其他操作了。直接echo的话还是原生的字符,不能自动转化为中文。
php将unicode转为utf-8方法
在php5.0及以上版本中提供了json_encode, json_decode方法。在使用json_encode变量的时候,如果变量里含有中文的话,会将中文转为unicode格式。所以在想是否可以通过json_decode将unicode转为中文呢?实际测试发现是可以的,但对单一的字符串发现有些问题。
对于简单的字符串,发现有时候使用json_decode转的化,结果直接为空了。但将字符串替换为数组然后在转就可以了。下面为封装的代码:
function unicode2utf8($str){if(!$str) return $str;$decode = json_decode($str);if($decode) return $decode;$str = '["' . $str . '"]';$decode = json_decode($str);if(count($decode) == 1){return $decode[0];}return $str;}
使用这个方法可以很好的将unicode编码转为utf-8编码。
附上js转为实体字符和php将实体字符转为汉字的方法
js将汉字转为实体字符:
function convert2Entity(str) {var len = str.length;var re = [];for (var i = 0; i < len; i++) {var code = str.charCodeAt(i); if (code > 256) {re.push('' + code + ';');} else {re.push(str.charAt(i));}}return re.join('');}php将实体字符转为utf-8汉字的方法:function entity2utf8onechar($unicode_c){$unicode_c_val = intval($unicode_c);$f=0x80; // 10000000$str = "";// U-00000000 - U-0000007F: 0xxxxxxxif($unicode_c_val <= 0x7F){ $str = chr($unicode_c_val); } //U-00000080 - U-000007FF: 110xxxxx 10xxxxxx else if($unicode_c_val >= 0x80 && $unicode_c_val <= 0x7FF){ $h=0xC0; // 11000000 $c1 = $unicode_c_val >> 6 | $h;$c2 = ($unicode_c_val & 0x3F) | $f;$str = chr($c1).chr($c2);}//U-00000800 - U-0000FFFF: 1110xxxx 10xxxxxx 10xxxxxxelse if($unicode_c_val >= 0x800 && $unicode_c_val <= 0xFFFF){ $h=0xE0; // 11100000 $c1 = $unicode_c_val >> 12 | $h;$c2 = (($unicode_c_val & 0xFC0) >> 6) | $f;$c3 = ($unicode_c_val & 0x3F) | $f;$str=chr($c1).chr($c2).chr($c3);}//U-00010000 - U-001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxxelse if($unicode_c_val >= 0x10000 && $unicode_c_val <= 0x1FFFFF){ $h=0xF0; // 11110000 $c1 = $unicode_c_val >> 18 | $h;$c2 = (($unicode_c_val & 0x3F000) >>12) | $f;$c3 = (($unicode_c_val & 0xFC0) >>6) | $f;$c4 = ($unicode_c_val & 0x3F) | $f;$str = chr($c1).chr($c2).chr($c3).chr($c4);}//U-00200000 - U-03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxxelse if($unicode_c_val >= 0x200000 && $unicode_c_val <= 0x3FFFFFF){ $h=0xF8; // 11111000 $c1 = $unicode_c_val >> 24 | $h;$c2 = (($unicode_c_val & 0xFC0000)>>18) | $f;$c3 = (($unicode_c_val & 0x3F000) >>12) | $f;$c4 = (($unicode_c_val & 0xFC0) >>6) | $f;$c5 = ($unicode_c_val & 0x3F) | $f;$str = chr($c1).chr($c2).chr($c3).chr($c4).chr($c5);}//U-04000000 - U-7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxxelse if($unicode_c_val >= 0x4000000 && $unicode_c_val <= 0x7FFFFFFF){ $h=0xFC; // 11111100 $c1 = $unicode_c_val >> 30 | $h;$c2 = (($unicode_c_val & 0x3F000000)>>24) | $f;$c3 = (($unicode_c_val & 0xFC0000)>>18) | $f;$c4 = (($unicode_c_val & 0x3F000) >>12) | $f;$c5 = (($unicode_c_val & 0xFC0) >>6) | $f;$c6 = ($unicode_c_val & 0x3F) | $f;$str = chr($c1).chr($c2).chr($c3).chr($c4).chr($c5).chr($c6);}return $str;}function entities2utf8($unicode_c){$unicode_c = preg_replace("/\&\#([\da-f]{5})\;/es", "entity2utf8onechar('\\1')", $unicode_c);return $unicode_c;}
entity2utf8onechar方法来自 http://blog.sina.com.cn/s/blog_48d7f3f40100o6ak.html
使用方式:
$utf8chars = entities2utf8("啊你好啊");
本文链接:http://www.welefen.com/php-unicode-to-utf8.html
2、unicode编码转换中文:unicode编码转换(unicode编码转换工具)
unicode(UTF-8)的编码如何转换成windows可以显示 我有几个txt格式的文本文档,是编码是unicode(UTF-8)的编码,怎样将其。整理 MySQL 8.0 文档时发现一个变更: 默认字符集由 latin1 变为 utf8mb4。
想起以前整理过字符集转换文档,升级到 MySQL 8.0 后大概率会有字符集转换的需求,在此正好分享一下。
当时的需求背景是: 部分系统使用的字符集是 utf8,但 utf8 最多。
3、怎样将unicode编码转换为中文
1、python2与python3稍微有点区别 2、python2中默认的字符编码格式都是unicode,在字符串前加'u',表示unicode 编码 3、将unicode转换成中文,只需要用deconde解码就可以了 >>> u='欢迎' >>> e=u.encode() >>> e b'\xe6\xac\xa2\xe8\xbf\x8e' >>>。
4、如何转换下面的 unicode 编码
VB编译的程序,本身对字符串的保存、处理都是用的Unicode编码,无需转换即可得到,只不过,Unicode是双字节编码,在内存中按照高位在前,低位在后的格式保存,因此显示时需要调一下位置,代码如下: Private Sub Command1_Click()Dim s As Strin。
5、unicode该怎么转换
我的手机的电子书支持浏览unicode编码的文本文档.但是我把记事本里的文。你可以用记事本打开该文档,然后选择另存为,再另存为对话框的编码下拉框中选择unicode,然后保存就行了
本文关键词:unicode编码转换工具微信,unicode编码转换,unicode编码转换工具,二进制unicode编码转换,Unicode编码转换站长工具。这就是关于《unicode编码转换中文,unicode编码转换工具(php将unicode编码转为utf-8方法)》的所有内容,希望对您能有所帮助!
- 最近发表