GBK編碼中一個漢字由二個字符組成,獲取漢字字符串的方法如下 復制代碼 代碼如下: $string = "不要迷戀哥"; $length = strlen($string); for($i=0;$i<$length;$i++){ if(ord($string[$i] " /> 福利片福利一区二区三区,欧洲-级毛片内射八十老太婆,99热这里只有是精品

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

PHP中實現中文字符進制轉換原理分析

一,中文字符轉十進制原理分析

GBK編碼中一個漢字由二個字符組成,獲取漢字字符串的方法如下
復制代碼 代碼如下:
$string = "不要迷戀哥";
$length = strlen($string);
for($i=0;$i<$length;$i++){
if(ord($string[$i])>127){
$result[] = ord($string[$i]).' '.ord($string[++$i]);
}
}
var_dump($result);

<aphp-ord-dec-number src="/d/file/itjie/phpjishu/2014-10-22/9e31dfaced5fd73313e1243a0a848b3f.png">
由于一個漢字為兩個字符組成,通過ord()函數獲取字符的ASCII值如果大于127時,就可以確定當前字符為一個漢字的前半部分,還需要獲取漢字的后半部分。當然,這種判斷的方法要結合具體的開發環境,如果存在ASCII值大于127的單個字符,這種方法判斷顯然就不正確。

php實現中文字符轉十進制的原理就是通過for循環的方法獲取一個漢字的二個字符,然后使用ord()函數把各字符轉換為十進制。如上分別是:不 [178 187] 要 [210 170] 迷 [195 212] 戀 [193 181] 哥 [184 231]

二,中文字符轉十六進制原理分析

使用UltraEdit開發工具可以直接查看中文字符的十六進制,如下圖

如,查看“不要迷戀哥”這五個字的十六進制
ultraedit-16-hex
從上面的圖可以知道各個漢字對應該的十六進制字符分別是:不 B2BB 要 D2AA 迷 C3D4 戀 C1B5 哥 B8E7

php 實現中文字符轉十六進制的原理就是首先使用ord()函數取出各個中文字符的十進制,具體可查看[php函數篇掌握ord()與chr()函數應用],然后使用dechex()函數把各個中文字符轉化為十六進制

實例源代碼
復制代碼 代碼如下:
$string = "不要迷戀哥";
$length = strlen($string);
echo $string;
$result = array();
//十進制
for($i=0;$i<$length;$i++){
if(ord($string[$i])>127){
$result[] = ord($string[$i]).' '.ord($string[++$i]);
}
}
var_dump($result);
//十六進制
$strings = array();
foreach($result as $v){
$dec = explode(" ",$v);
$strings[] = dechex($dec[0])." ".dechex($dec[1]);
}
var_dump($strings);

結果如下圖

<aphp-dec-hex-string src="/d/file/itjie/phpjishu/2014-10-22/7183503d9a04a474152e37155724ce78.png">

通過上面的方法實現把中文字符轉換為十六進制,輸出結果可對比使用UltraEdit開發工具獲取的十六進制。

三,中文字符轉二進制和八進制原理分析

實現中文字符轉二進制和八進制與上面的十六進制轉換原理一樣,只是轉換的函數不同,結合上面的實例代碼,實現如下

中文字符轉二進制,方法如下
復制代碼 代碼如下:
$strings = array();
foreach($result as $v){
$dec = explode(" ",$v);
$strings[] = decbin($dec[0])." ".decbin($dec[1]);
}
var_dump($strings);

結果如下:
<aphp-dec-bin-string src="/d/file/itjie/phpjishu/2014-10-22/ee9fcccf97af0d746dc14cd3548177be.png">
中文字符轉八進制,方法如下
復制代碼 代碼如下:
$strings = array();
foreach($result as $v){
$dec = explode(" ",$v);
$strings[] = decoct($dec[0])." ".decoct($dec[1]);
}

結果如下:
<aphp-string-hex src="/d/file/itjie/phpjishu/2014-10-22/4111363f80944a640b4432bcc11a0df5.png">
了解php實現中文字符進制轉換原理,再通過php內置函數urldecode()就可以把十六進制的字符串通過組合轉換為正常的中文漢字,請關注下一期中文字符編碼研究系列之urldecode()與urlencode()函數字符編碼原理。

php技術PHP中實現中文字符進制轉換原理分析,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 美女拉开腿让男生桶到爽 | 色欲国产麻豆精品AV免费 | 亚洲色大成网站www久久九九 | 就去色一色 | 国产高清视频免费最新在线 | 果冻传媒APP免费网站在线观看 | 国产亚洲精品欧洲在线视频 | 99精品日韩| 亚洲AV永久无码精品澳门 | 久久黄色免费 | 国内精品久久久久影院老司 | 午夜伦yy44880影院 | 受喷汁红肿抽搐磨NP双性 | 精品无码乱码AV | 国产又粗又猛又爽又黄的免费视频 | 久久精品视在线-2 | 美女打开双腿扒开屁股男生 | 超碰在线视频公开 | 亚洲午夜精品aaa级久久久久 | 国产精品成人影院在线观看 | 俄罗斯搜索引擎Yandex推广入口 | 父亲猜女儿在线观看 | 交video| 国产在线精品亚洲另类 | 国产女人乱人伦精品一区二区 | 3d在线看小舞被躁视频 | 亚在线观看免费视频入口 | 亚洲欧美无码2017在线 | 亚洲一二三产品区别在哪里 | 97精品一区二区视频在线观看 | 69精品人妻一区二区三区蜜桃 | 久久综合老色鬼网站 | 欧美性喷潮xxxx | 捏揉舔水插按摩师 | 偷拍亚洲制服另类无码专区 | 婷婷综合久久狠狠色 | 理论片87福利理论电影 | 女的把腿张开男的往里面插 | 色中色最新地址登陆 | 黄色小说在线 | 姑娘日本大全免费观看版中文翻译 |