2023-10-29 分类: 网站建设
**php字符编码转换类,支持ANSI、big、UTF-8、UTF-8+bom相互转换。 **
**四种常见的文本文件编码方式**
**ANSI 代码**:
无文件头(文件编码开头的有效字节)
ANSI编码的字母数字占一个字节,汉字占两个字节
回车换行php 文件编码转换,单字节,十六进制表示为0d 0a
**编码:**
文件头,十六进制表示为FF FE
每个字符用两个字节编码
回车,换行,双字节,十六进制表示为000d 000a
** 大编码:**
文件头的十六进制表示为FE FF
后面的编码就是把字符的高位放在前面,低位放在后面,正好是编码的逆过程
回车,换行,双字节,十六进制表示为 0d00 0a00
**UTF-8 编码:**
文件头,十六进制表示为EF bb bF
UTF-8 是一种变长字符编码。数字、字母、回车、换行都用1个字节表示,汉字占3个字节。
回车换行,单字节,十六进制表示为0d 0a
**转换原则:先将字符编码转换为UTF-8,再从UTF-8转换为对应的字符编码。 **
**..php**
~~~
/**字符编码转换类,ANSI,,big,UTF-8、UTF-8+bom相互转换
*日期:2015-01-28
*:
*版本:1.0
*
*功能:
* 转换
* 将编码转换为 UTF-8 编码
* 将 UTF-8 编码转换为输出编码
*/
{//
$ = 空; // 源代码
$ = 空; // 输出代码
$ = ('utf-8','utf-8bom','ansi','','');
/**初始化
* @$ 源码编码
* @$ 输出编码
*/
($, $){
$ = ($);
$ = ($);
//查看源码
if(($, $this->)){
$this-> = $;
}
//检查输出编码
if(($, $this->)){
$this-> = $;
}
}
/**转化
* @ $str 要转换的字符串
* @ 转换后的字符串
*/
($str){
$str = $this->($str); // 先转utf8
$str = $this->($str); // 从utf8转换成对应的编码
$str;
}
/**将编码转为UTF-8编码
* @ $str
* @
*/
($str){
if($this->=='utf-8'){ // 编码已经是utf-8了,不用转
$str;
}
($this->){
case'utf-8bom':
$str = ($str, 3);
;
case'ansi':
$str = ('GbK','UTF-8//', $str);
;
案例'':
$str = ('UTF-16le','UTF-8//', ($str, 2));
;
案例'':
$str = ('UTF-16be','UTF-8//', ($str, 2));
;
:
;
}
$str;
}
/**将UTF-8编码转换为输出编码
* @ $str
* @
*/
($str){
if($this->=='utf-8'){ // 输出码已经是utf-8了php 文件编码转换,不用转
$str;
}
($this->){
case'utf-8bom':
$str = "\xef\xbb\xbf".$str;
;
case'ansi':
$str = ('UTF-8','GbK//', $str);
;
案例'':
$str = "\xff\xfe".('UTF-8','UTF-16le//', $str);
;
案例'':
$str = "\xfe\xff".('UTF-8','UTF-16be//', $str);
;
:
;
}
$str;
}
} // 结束
~~~
**demo:** 大到 utf-8+bom
~~~
"..php";
$str = ('/.txt');
$obj = new('','utf-8bom');
$ = $obj->($str);
('/utf-8bom.txt', $, true);
~~~
**源码下载地址:【点击查看】()**
标题名称:字符编码转换类,支持ANSI、big、UTF-8+bom互相转换(图)
文章地址:/news12/291412.html
成都网站建设公司_创新互联,为您提供网站制作、网站改版、外贸建站、标签优化、外贸网站建设、小程序开发
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联
猜你还喜欢下面的内容