perl Encode模块应用一例

发布时间:2020-04-18编辑:脚本学堂
perl Encode模块应用一例

    我们知道编码问题是广泛存在的,只有正确的编码才能在不同的地方正确的显示内容。而在数据的获取和转移过程中,编码经常是很需要注意的问题。

    perl有功能很好的编码处理模块Encode。在程序里简单的use Encode就可以使用了。

主要用到两个方法:
结果 = encode(编码方式a,要转码的字串)
结果 = decode(编码方式b,要转码的字串);
encode的作用是把字串编码成“编码方式a”;decode的作用是把以"编码方式b"编码的字串解码。
要注意的是,encode方法里的字串,需要是已经解码过的。
1、要把gb2312编码的字串专成utf8,不能直接encode("utf8", gb2312_string),而要encode("utf8",decode("gb2312",gb2312))
2、似乎Encode模块内部有一种格式。作为encode和decode方法的中间格式。decode可以把某种编码转成这种格式,而encode可以把这种格式转化成特定的编码。

示例:
 

复制代码 代码如下:
use Encode;
gbk->uft-8:
$line = encode("utf-8",decode("gbk",$line));

$line = encode_utf8(decode("gbk",$line));
utf-8->gbk:
$line = encode("gbk", decode("utf8", $line));
uft-8->gb2312:
$line = encode("gb2312", decode("utf8", $line));