php中文和unicode互转

unicode转中文时可以使用json_decode()函数实现。

中文转unicode时需要对字符串转换成UCS-4编码,再转成16进制,再从16进制转换成10进制加上&#前缀来实现中文转unicode编码。

一、unicode转中文

php
  1. <?php
  2. //unicode转中文
  3. function unicodeDecode($unicode_str){
  4. $json = ‘{"str":"‘.$unicode_str.‘"}‘;
  5. $arr = json_decode($json,true);
  6. if(empty($arr)) return ‘‘;
  7. return $arr[‘str‘];
  8. }
  9. $unicode_str = "\u4e2d\u56fd";
  10. echo unicodeDecode($unicode_str);

二、中文转unicode

php
  1. //中文转unicode
  2. function UnicodeEncode($str){
  3. //split word
  4. preg_match_all(‘/./u‘,$str,$matches);
  5. $unicodeStr = "";
  6. foreach($matches[0] as $m){
  7. //拼接
  8. $unicodeStr .= "&#".base_convert(bin2hex(iconv(‘UTF-8‘,"UCS-4",$m)),16,10);
  9. }
  10. return $unicodeStr;
  11. }
  12. $str = "新浪微博";
  13. echo UnicodeEncode($str);

原文地址:https://www.cnblogs.com/qiuhao/p/12066964.html

时间: 2024-11-03 23:52:42

php中文和unicode互转的相关文章

中文和unicode互转

public class Test { public static void main(String[] args) { String uname="欧阳红"; for (int i = 0; i < uname.length(); i++) { char unamechar=uname.charAt(i); System.out.println(unamechar+"="+gbEncoding(String.valueOf(unamechar))); } }

C#中文和UNICODE编码转换

C#中文和UNICODE编码转换 //中文轉為UNICODE string str = "中文"; string outStr = ""; if (!string.IsNullOrEmpty(str)) { for (int i = 0; i < str.Length; i++) { //將中文轉為10進制整數,然後轉為16進制unicode outStr += "\\u" + ((int)str[i]).ToString("x&

python中文和unicode字符串之间的互相转换

首先:中文->unicode字符串 import chardet import codecs >>> a = "我是一个中国人">>> a'\xce\xd2\xca\xc7\xd2\xbb\xb8\xf6\xd6\xd0\xb9\xfa\xc8\xcb' >>> chardet.detect(a){'confidence': 0.99, 'encoding': 'GB2312'}>>> b = a.decod

C# 中文和UNICODE字符转换方法

这个方式其实很多见,特别是使用Json的时候用的比较多,其实也很简单主要是使用了ToString("x")方法直接看代码吧 string str = "大家好我是小哲"; string outStr = ""; if (!string.IsNullOrEmpty(str)) { for (int i = 0; i < str.Length; i++) { //将中文字符转为10进制整数,然后转为16进制unicode字符 outStr +=

中文和Unicode互相转化

Unicode转中文 String unicode = "\u6211\u7231\u7956\u56fd.mp3"; String result = new String(unicode.getBytes("UTF-8"), "UTF-8"); System.out.println(result); 结果:我爱祖国 中文转Unicode String chinese = "我爱祖国"; StringBuffer unicod

wprintf、wcout输出中文和unicode中文字符串的转换问题

%E4%BD%BF%E7%94%A8CHttpFile%E4%BB%8E%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%AB%AF%E6%AD%A3%E7%A1%AE%E7%9A%84%E8%AF%BB%E5%8F%96%E6%95%B0%E6%8D%AE ??????spoBAByG??υ????d? http://auto.315che.com/ztzhidoud2/qa23963522.htm http://auto.315che.com/kaiyix3/qa23989881

匹配除中文和空格意外的正则写法

原文摘自:http://blog.csdn.net/orichisonic/article/details/49335527 现在有一个需求就是设置用户的输入密码不能为中文和空格 实例: /^[^\u4E00-\u9FA5\uF900-\uFA2D\u0020]{8,16}$/ "password":/^[^\u4E00-\u9FA5\uF900-\uFA2D\u0020]{8,16}$/, "u4e00"代表什么意思 "u9fa5"代表什么意思

python2.7.x的字符串编码到底什么鬼?(中文和英文的处理)

一直以来我其实一直对python的编码弄得非常晕,能正常编码,也能处理一些情况.但是始终不明白有些问题究竟为何出,原因是什么,为什么要这样用. 今天晚上正好好好研究了一番解答了自己心中的困惑. Q:python2.7.x里面的中文表示到底是什么鬼? A:直接来看看 In [23]: x = '好不好喝都要喝' In [24]: x Out[24]: '\xe5\xa5\xbd\xe4\xb8\x8d\xe5\xa5\xbd\xe5\x96\x9d\xe9\x83\xbd\xe8\xa6\x81\

【Python】Python在文本分析中将中文和非中文进行分割

1.问题描述 进行文本分析的时候需要将中文和非中文进行分开处理,下面通过Python将文本中的中文部分提取出来进行需要的处理. 2.问题解决 开发环境:Linux 程序代码如下:split.py #!/usr/bin/python #-*- coding:utf-8 -*- import sys reload(sys) sys.setdefaultencoding("utf8") import re #导入正则表达式模块:re模块 def translate(inputFile, ou