汉字转换成Unicode编码PHP程序

汉字转换成unicode方法

 代码如下 复制代码

<?php
//将utf8编码的汉字转换为unicode
function htou($c){
 $n = (ord($c[0]) & 0x1f) << 12;
 $n = (ord($c[1]) & 0x3f) << 6;
 $n = ord($c[2]) & 0x3f;
 return $n;
}

//在代码中隐藏utf8格式的字符串
function my_utf8_unicode($str) {
 $encode='';
 for($i=0;$i<strlen($str);$i ){
  if(ord(substr($str,$i,1))> 0xa0){
   $encode.='&#'.htou(substr($str,$i,3)).';';
   $i =2;
  }else{
   $encode.='&#'.ord($str[$i]).';';
  }
 }
 return $encode;
}

echo my_utf8_unicode("哈哈ABC");
?>

汉字转换成unicode方法二

 代码如下 复制代码

function getUnicode($word)
{
 // 转UTF8
 $word0 = iconv('gbk', 'utf-8', $word);
 $word1 = iconv('utf-8', 'gbk', $word0);
 $word =  ($word1 == $word) ? $word0 : $word;
 // 拆分汉字
 preg_match_all('#(?:[x00-x7F]|[xC0-xFF][x80-xBF]+)#s', $word, $array, PREG_PATTERN_ORDER);
 $return  = array();
 // 转换
 foreach ($array[0] as $cc)
 {
  $arr = str_split($cc);
  $bin_str = '';
  foreach ($arr as $value)
  {
   $bin_str .= decbin(ord($value));
  }
  $bin_str = preg_replace('/^.{4}(.{4}).{2}(.{6}).{2}(.{6})$/','$1$2$3', $bin_str);
  $return[] = '&#' . bindec($bin_str) . ';';
 }
 
 return implode('', $return);
}

函数用法:

 代码如下 复制代码

$word = '一个汉字转换成Unicode四字节编码的PHP函数。';
echo getUnicode($word);

上述将输出如下结果:

&#19968&#20010&#27721&#23383&#36716&#25442&#25104&#65333&#65358
&#65353&#65347&#65359&#65348&#65349&#22235&#23383&#33410&#32534
&#30721&#30340&#80&#72&#80&#20989&#25968&#12290

这一组函数可以将汉字转成unicode编码,也可以将unicode解码成汉字。
将汉字转成Unicode的函数:

 代码如下 复制代码

function uni_encode ($word)
{
 $word0 = iconv('gbk', 'utf-8', $word);
 $word1 = iconv('utf-8', 'gbk', $word0);
 $word =  ($word1 == $word) ? $word0 : $word;
    $word = json_encode($word);
    $word = preg_replace_callback('/\\u(w{4})/', create_function('$hex', 'return '&#'.hexdec($hex[1]).';';'), substr($word, 1, strlen($word)-2));
    return $word;
}

对Unicode编码进行解码的函数:

 代码如下 复制代码

function uni_decode ($uncode)
{
    $word = json_decode(preg_replace_callback('/&#(d{5});/', create_function('$dec', 'return '\u'.dechex($dec[1]);'), '"'.$uncode.'"'));
    return $word;
}

时间: 2024-10-06 17:24:12

汉字转换成Unicode编码PHP程序的相关文章

unicode编码转换:PHP将汉字转换成Unicode编码的函数

这是一个将汉字转换成Unicode编码的PHP函数,支持GBK和UTF8编码.function uni_decode ($uncode){$word = json_decode(preg_replace_callback('/(\d{5});/', create_function('$dec', 'return \'\\u\'.dechex($dec[1]);'), '"'.$uncode.'"'));return $word;}对 Unicode 转换为汉字function uni_

使用Java将中文字符转换成Unicode编码

  这两天操作XML使用到了Jdom,在创建XML文件并输出到硬盘的时候遇到一个中文编码的问题:Jdom默认输出的XML编码是UTF-8,但是文档中如果出现中文字符那么该中文字符就会变成乱码,造成XML文件无法被正确解析. UTF-8应该是可以用来表示中文的吧?我不知道这是不是Jdom的一个BUG(Jdom 1.0,beta了10次的产物哦!).我google了一下,大家解决这个问题的办法无非是把Jdom的输出字符集改为GBK或者GB2312,但是这样就会有一些副作用,如果在没有特定字符集(GB

Java将简体中文转换成Unicode编码

public class ToUnicode { 07 08 /** 09 * main test methord 10 */ 11 public static void main(String[] args) { 12 // System.out.println(toUnicode("你好 世界!")); 13 } 14 15 /** 16 * A methord for Simple Chinese Lanuage to Unicode 17 * @param s Simple C

中文转换成Unicode编码和Unicode编码转换成中文,Java代码实现

  import java.util.Properties; public class Test { public static void main(String[] args) { String s = "简介"; String tt = gbEncoding(s); // String tt1 = "你好,我想给你说一个事情"; System.out.println(decodeUnicode("\\u7b80\\u4ecb")); // S

aspasp汉字转换成汉语拼音程序

asp汉字转换成汉语拼音代码,将以下代码保存为asp文件运行就可以看到结果了 <% Set d = CreateObject("Scripting.Dictionary") d.add "a",-20319 d.add "ai",-20317 d.add "an",-20304 d.add "ang",-20295 d.add "ao",-20292 d.add "ba&

怎么把一串字符串转换成Unicode

问题描述 怎么把一串字符串转换成Unicode只转换汉字不转换字母和数字.例如小张zzz123只把小张转换了zzz123不转换. 解决方案 解决方案二:同问啊解决方案三:遍历吧.解决方案四:你是问C++吗?这在C#里面根本不会问这样的问题,因为C#里面的字符串都是Unicode的,不需要转换.解决方案五:privatestringCapText(Matchm){byte[]bs=Encoding.Default.GetBytes(m.ToString());strings=Encoding.Un

python实现将汉字转换成汉语拼音的库

  本文实例讲述了python实现将汉字转换成汉语拼音的库.分享给大家供大家参考.具体分析如下: 下面的这个python库可以很容易的将汉字转换成拼音,其中用到了一个word.data 的字典,可点击此处本站下载. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 #!/usr/bin/env python # -*

Word将汉字转换成为Unicode码

  ①汉字转换成为Unicode字符编码 首先选择汉字,然后切换到英文输入法状态,按下下列组合键即可. Alt+X 青山的"青"字,选中该"青"字以后,按下Alt+X,即可得到9752,这就是该字所对应的Unicode字符编码 ②将Unicode字符编码转换为汉字 同样,按下下列组合键即可. Alt+X 比如,选中Unicode字符编码9752,按下Alt+X,即可得到汉字"青"字.

急,急,急~!!如何在C#中将汉字转换成2进制代码并将2进制代码存放在一个数组里面

问题描述 我有个设计需要将文本中的汉字转换成2进制代码然后存放在一个BYTE型的数组里面,希望各位大大帮我解决下. 解决方案 解决方案二:strings="汉字";byte[]b=System.Text.Encoding.Default.GetBytes(s);解决方案三:下面是转化成字符串形式的16位二进制publicstaticstringChar2Binary(stringstr){stringstrCode="";byte[]byteArray=null;f