字符编码转换类,支持ANSI、big、UTF-8+bom互相转换(图)

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互相转换(图)
文章地址:https://www.cdcxhl.com/news12/291412.html

成都网站建设公司_创新互联,为您提供网站制作网站改版外贸建站标签优化外贸网站建设小程序开发

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

外贸网站建设