`
xieye
  • 浏览: 835255 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

PHP获取汉字unicode码的通用函数

    博客分类:
  • PHP
PHP 
阅读更多
/**
 * 把一个汉字转为unicode的通用函数,不依赖任何库,和别的自定义函数,但有条件
 * 条件:本文件以及函数的输入参数应该用utf-8编码,不然要加函数转换
 * 其实亦可轻易编写反向转换的函数,甚至不局限于汉字,奇怪为什么php没有现成函数
 * @author xieye
 * 
 * @param {string} $word 必须是一个汉字,或代表汉字的一个数组(用str_split切割过)
 * @return {string} 一个十进制unicode码,如4f60,代表汉字 “你”
 */
function getUnicodeFromOneUTF8($word) {
  //获取其字符的内部数组表示,所以本文件应用utf-8编码!
  if (is_array( $word))
    $arr = $word;
  else  
    $arr = str_split($word); 
  //此时,$arr应类似array(228, 189, 160)
  //定义一个空字符串存储
  $bin_str = '';
  //转成数字再转成二进制字符串,最后联合起来。
  foreach ($arr as $value)
    $bin_str .= decbin(ord($value));
  //此时,$bin_str应类似111001001011110110100000,如果是汉字"你"
  //正则截取
  $bin_str = preg_replace('/^.{4}(.{4}).{2}(.{6}).{2}(.{6})$/','$1$2$3', $bin_str);
  //此时, $bin_str应类似0100111101100000,如果是汉字"你" 
  return bindec($bin_str); //返回类似20320, 汉字"你"
  //return dechex(bindec($bin_str)); //如想返回十六进制4f60,用这句
}
 
分享到:
评论

相关推荐

    js 中文汉字转Unicode、Unicode转中文汉字、ASCII转换Unicode、Unicode转换ASCII、中文转换&#XXX函数代码

    - **中文汉字转Unicode**:通过遍历字符串中的每个字符,获取其Unicode编码,然后将它们拼接成特定格式的字符串,如`\uXXXX`。`XXXX`为字符的十六进制Unicode码。 - **Unicode转中文汉字**:通过正则表达式匹配字符...

    ASP版hmac和md5加密函数,支持中文,带unicode和utf8转码

    这个标准版是指其它程序都在采用的unicode编码方案,其实ASP简版才是我们最多使用的,但它并不通用。 调用方法:HmacMd5(text,key)-加密内容支持中文,但key最好用非中文的。 md5(text)-简版,ASP_MD5(text)-标准...

    JS 文字符串转换unicode编码函数

    然而,escape()函数不是专门用于处理unicode编码转换,它是一种通用的编码方式,对于一些特殊字符和中文字符的处理可能不够完美。 为了解决这个问题,开发者找到了更加合适的函数,即uniencode()函数,以确保中文...

    PHP UCS2编码,解码

    `mb_convert_encoding()`函数是一个多字节字符串处理的通用函数,它支持多种编码格式,包括UCS2。例如,如果你想将一个字符串从UTF-8编码转换为UCS2,可以这样写: ```php $string = "你好,世界!"; $ucs2_string =...

    PHP版 汉字转码的实现详解

    在探讨PHP语言实现汉字...通过对`iconv`等函数的运用,开发者可以将特定编码的汉字文本转换为Unicode编码,从而实现跨平台或跨语言的兼容性。上述内容是对于PHP版汉字转码实现的详细解析,希望对需要的朋友有所帮助。

    PHP 不同编码的转换程序

    `iconv`是一个通用的字符集转换函数库,而`mb_string`则提供了更强大的多字节字符串处理功能,支持多种编码方式,如GBK、UTF-8等。这两个扩展可以帮助开发者在GBK、UTF-8等不同的编码格式之间进行转换,确保数据的...

    php中常见中文乱码处理方法总结

    PHP本身并不支持Unicode,因此在处理多字节字符时,如中文,需要使用特定的函数,例如将 `substr` 替换为 `mb_substr`(需要安装 `mbstring` 扩展),或者使用 `iconv` 进行编码转换。 #### 二、PHP与MySQL的数据...

    PHP中文編碼轉換類

    而Unicode,包括UTF-8,是一种通用的编码方式,可以表示世界上几乎所有的字符,包括中文。GBK和GB2312是中国的国标编码,主要针对中文,它们在UTF-8中也有对应的编码表示。 这个`Chinese_back`类可能包含以下功能:...

    PHP 字符串编码截取函数(兼容utf-8和gb2312)

    总结来说,上述文件中的函数为我们提供了一个处理utf-8和gb2312编码字符串的通用解决方案。它通过转换编码和计算字符长度的方式,确保了函数可以在不同编码下准确截取字符串。在处理多语言文本时,这种编码转换和...

    基于PHP的OESOPphp业务运营管理系统utf-8源码.zip

    UTF-8是一种广泛使用的Unicode字符编码方案,能够表示几乎所有的Unicode字符。它在互联网上非常常见,因为大部分现代Web浏览器和服务器都支持UTF-8。使用UTF-8编码,系统能正确处理各国语言,对于多语言的业务运营...

    PHP的mysqli_set_charset()函数讲解

    常见的字符集有`utf8mb4`(支持四字节Unicode字符,包括表情符号),`utf8`(通用的多语言字符集,支持大部分Unicode字符),以及`latin1`(西欧字符集)等。 在提供的示例代码中,我们首先使用`mysqli_connect()`...

    PHP实例开发源码—PhpSou垂直搜索引擎 GBK.zip

    7. **GBK编码**:GBK是中国大陆广泛使用的汉字编码标准,兼容GB2312,但不兼容Unicode。处理GBK编码时,需要注意在读写文件、数据库交互以及页面输出时的编码转换。 8. **PHP性能优化**:搜索引擎对性能要求较高,...

    PHP随机生成中文段落示例【测试网站内容时使用】

    这里,每个汉字由三个字节组成,分别是两个随机的16位Unicode码点(`chr(rand(0x00, 0xFF)).chr(rand(0x4E, 0x99))`)通过`iconv`转换成UTF8编码。 在HTML部分,代码创建了一个简单的网页结构,显示了生成的中文...

    基于PHP的Discuz! UTF-8简体中文版.zip

    UTF-8是Unicode字符集的一种编码方式,支持世界上几乎所有的文字系统。在Discuz! 中采用UTF-8编码,意味着论坛可以无损地显示各种语言的字符,包括但不限于简体中文、繁体中文、英文、日文、韩文等,极大地提升了多...

    浅析白盒审计中的字符编码及SQL注射1

    相比之下,UTF-8编码是一种更通用的Unicode编码方式,对于中文字符,它需要3个字节。 在PHP中,字符编码的不同会影响字符串长度的计算。例如,`strlen()`函数会返回字符串的字节数,而不是字符数。因此,GBK编码的...

    比较discuz和ecshop的截取字符串函数php版

    此外,它使用`strlen`函数来获取字符串长度,对于中文字符来说,每个中文字符在UTF-8编码下通常占用3个字节,因此可能导致截取长度的计算不准确。 ```php function cutstr($string, $length, $dot = '...') { // ....

    php截取字符串.docx

    UTF-8是一种广泛使用的Unicode编码方式,支持多种语言字符,包括中文。对于UTF-8编码的字符串截取,可以使用正则表达式来实现: ```php function utf8Substr($str, $from, $len) { return preg_replace( '#^(?:[\...

    PHP写入WRITE编码为UTF8的文件的实现代码

    UTF-8作为互联网上使用最广泛的一种Unicode编码方式,其支持全球各种语言的字符表示。PHP作为一种常用的服务器端脚本语言,在处理UTF-8编码的文件时有着丰富的内置函数和支持。 #### 核心知识点 ##### 1. 文件操作...

Global site tag (gtag.js) - Google Analytics