perl Encode模块的使用

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

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

用到的方法主要是两个:

结果 = encode(编码方式a,要转码的字串)

结果 = decode(编码方式b,要转码的字串);

encode的作用是把字串编码成“编码方式a”,decode的作用是把以"编码方式b"编码的字串解码。

要注意的是,encode方法里的字串,需要是已经解码过的。

也就是说,要把gb2312编码的字串专成utf8,不能直接encode("utf8", gb2312_string),而要encode("utf8",decode("gb2312",gb2312))

也就是说,似乎Encode模块内部有一种格式。作为encode和decode方法的中间格式。decode可以把某种编码转成这种格式,而encode可以把这种格式转化成特定的编码。

应该说清楚了..

from: http://blog.163.com/duanpeng3@126/blog/static/8854373520101172265754/