栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何获取utf-8字符串中给定字符的代码点编号?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何获取utf-8字符串中给定字符的代码点编号?

Scott Reynen编写了一个将UTF-8转换为Unipre的函数。我在PHP文档中发现了它。

function utf8_to_unipre( $str ) {    $unipre = array(); $values = array();    $lookingFor = 1;    for ($i = 0; $i < strlen( $str ); $i++ ) {        $thisValue = ord( $str[ $i ] );    if ( $thisValue < ord('A') ) {        // exclude 0-9        if ($thisValue >= ord('0') && $thisValue <= ord('9')) {  // number  $unipre[] = chr($thisValue);        }        else {  $unipre[] = '%'.dechex($thisValue);        }    } else {          if ( $thisValue < 128)         $unipre[] = $str[ $i ];          else {     if ( count( $values ) == 0 ) $lookingFor = ( $thisValue < 224 ) ? 2 : 3;          $values[] = $thisValue;          if ( count( $values ) == $lookingFor ) {         $number = ( $lookingFor == 3 ) ?  ( ( $values[0] % 16 ) * 4096 ) + ( ( $values[1] % 64 ) * 64 ) + ( $values[2] % 64 ):  ( ( $values[0] % 32 ) * 64 ) + ( $values[1] % 64 ); $number = dechex($number); $unipre[] = (strlen($number)==3)?"%u0".$number:"%u".$number;         $values = array();         $lookingFor = 1;          } // if        } // if    }    } // for    return implode("",$unipre);} // utf8_to_unipre


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/408480.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号