一份gb2312.txt(184799字節(jié))確實顯得太大了點,而且還要經(jīng)unicode轉換。
這份對照表為51965字節(jié),要小的多了。
對于無法使用iconv函數(shù)庫的場合還是很實用的。

<?php
//對照表的使用 " /> 成人在线免费,久久国产综合,久久黑人

中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

不用iconv庫的gb2312與utf-8的互換函數(shù)


一份gb2312.txt(184799字節(jié))確實顯得太大了點,而且還要經(jīng)unicode轉換。
這份對照表為51965字節(jié),要小的多了。
對于無法使用iconv函數(shù)庫的場合還是很實用的。

<?php
//對照表的使用
$filename = "gb2utf8.txt";
$fp = fopen($filename,"r");
while(! feof($fp)) {
list($gb,$utf8) = fgetcsv($fp,10);
$charset[$gb] = $utf8;
}
fclose($fp);
//以上讀取對照表到數(shù)組備用

/** gb2312到utf-8 **/
function gb2utf8($text, &$charset) {
//提取文本中的成分,漢字為一個元素,連續(xù)的非漢字為一個元素
preg_match_all("/(?:[/x80-/xff].)|[/x01-/x7f]+/",$text,$tmp);
$tmp = $tmp[0];
//分離出漢字
$ar = array_intersect($tmp, array_keys($charset));
//替換漢字編碼
foreach($ar as $k=>$v)
$tmp[$k] = $charset[$v];
//返回換碼后的串
return join('',$tmp);
}

/** utf-8到gb2312 **/
function utf82gb($text, &$charset) {
$p = "/[xf0-xf7][x80-xbf]{3}|[xe0-xef][x80-xbf]{2}|[xc2-xdf][x80-xbf]|[x01-x7f]+/";
preg_match_all($p,$text,$r);
$utf8 = array_flip($charset);
foreach($r[0] as $k=>$v)
if(isset($utf8[$v]))
$r[0][$k] = $utf8[$v];
return join('',$r[0]);
}

//測試
$s = gb2utf8('這是對照表的測試', $charset);
echo utf82gb($s, $charset);
?>

php技術不用iconv庫的gb2312與utf-8的互換函數(shù),轉載需保留來源!

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

主站蜘蛛池模板: 亚洲一区毛片 | 激情综合五月天 | 久久久久国产精品一区 | 亚洲成人免费观看 | 国产高清免费 | 精品免费在线 | 麻豆精品久久久 | 欧美高清成人 | 噜久寡妇噜噜久久寡妇 | 国产精品一区二区三区四区五区 | 中文字幕加勒比 | 欧美一级在线观看 | 国产精品日韩在线 | 黄色免费网站在线看 | 成年人黄色一级毛片 | 国产婷婷在线视频 | 成人国产精品一级毛片视频毛片 | 黄色国产在线播放 | 91免费入口 | 欧美性视频在线播放 | 久久精品av麻豆的观看方式 | 亚洲精品自在在线观看 | 色综网 | 97av视频| 一区二区三区四区国产 | 伊人焦久影院 | 精品国产一区二区三区日日嗨 | 国产有码| 亚州综合在线 | 精品国产乱码久久久久久闺蜜 | 亚洲国产精品一区二区第一页 | 欧美一级大片 | 人人玩人人干 | 久久天堂网 | 草逼网站| 天天躁天天操 | 精品videossex高潮汇编 | 国产高清精品一区二区三区 | 日韩午夜| 日韩国产中文字幕 | 欧美国产激情二区三区 |