首页 > 作文

不用iconv库的gb2312与utf

更新时间:2023-04-07 04:50:30 阅读: 评论:0

一份gb2312.txt(184799字节)确实显得太大了点,而且还要经unicode转换。

这份对照表为51965字节,要小的多了。

对于无法使用iconv函数库的场合还是很实用的。

<?php

//对照表的使用

$filename 千门万户曈曈日= “gb2utf8.txt”;

$fp = fopen($filename,”r”);

while(! feof($fp)) {

list($gb,$utf8) = fgetcsv($fp,10);

$chart[$gb] = $utf8;

}

fclo($fp);

//以上读取对照表到数组备用

/** gb2312到utf-8 **/

function gb2utf8($text, &$chart) {

//提取文本中的成分,汉字为一个元素,连续的非汉字为一个元素

preg_match_all(“名词单数变复数/(?:[\x80-\xff].)|[\x01-\x7f]+/”,$text,$tmp);

$tmp = $tmp[0];

//分离出汉字

$ar = array_interct($tmp, array_keys($chart));

//替换汉字编码

foreach($ar as $k=>$v)

$tmp[$k] = $chart[$v];

//返回换码后的串

return join(”,$tmp);

}

/** utf-8到gb2312 **/

function utf82g卸磨杀驴的近义词b($text, &$chart) {

$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($chart怎样自学心理学);

foreach($r[0] as $k=>$v)

if(ist($utf8[$v]))

$r[0][$k] = $utf东篱是什么意思8[$v];

return join(”,$r[0]);

}

//测试

$s = gb2utf8(‘这是对照表的测试’, $chart);

echo utf82gb($s, $chart);

?>

本文发布于:2023-04-07 04:50:28,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/172dea3deac8c5403204891bdec7fe47.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:不用iconv库的gb2312与utf.doc

本文 PDF 下载地址:不用iconv库的gb2312与utf.pdf

下一篇:返回列表
标签:汉字   对照表   字节   卸磨杀驴
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图