我们知道编码问题是广泛存在的,只有正确的编码才能在不同的地方正确的显示内容。而在数据的获取和转移过程中,编码经常是很需要注意的问题。
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可以把这种格式转化成特定的编码。
示例: