linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > 开发语言 > perl >
栏目导栏
  php
  JSP
  ASP
  asp.net
  JAVA
  c/c++/c#
  perl
  JavaScript
  Basic
  Delphi
资料搜索
热门文章
·perl入门学习指南
·Perl文件及目录操作
·perl入门教程:Perl 的变量
·perl 学习笔记
·perl中传递和存储文件句柄
·perl入门教程:Perl的语法与C语
·perl入门教程:正则表达式
·perl入门教程:Perl 程序的属性
·perl入门教程:Perl概述
·Perl常用系统函数
·curl+perl的自动MAIL报警程序
·Perl命令行应用介绍
·Perl连接Oracle数据库的方法
·Perl的基本输入输出
·Perl DBI 入门
最新文章
·perl 学习笔记
·Perl 特殊变量
·perl Base64码的获取
·perl 父子进程的数据库连接继承
·工作中的实用 perl 脚本
·perl中传递和存储文件句柄
·curl+perl的自动MAIL报警程序
·Perl类包的动态调用
·使用open创建的管道进行父子进
·perl 执行一个系统命令(svn in
·windows平台下根据可执行文件名
·关联数组(hash)
·Perl语言在风险评估的系统基础
·在Perl/CGI中使用模板
·PERL CGI 常见问题
Google
 
perl Base64码的获取
[ 作者:  加入时间:2007-11-22 10:00:58  来自:Linux联盟收集整理 ]
背景:
       工作中发出的邮件主题有中文时就乱码,更气的是有的邮箱竟然不乱。幸运的是从新浪邮箱可以获取邮件的源码,发现主题包含中文时是需要Base64或qp编码的。于是有了这点积累。

正文:

1.所用的模块
    MIME::Base64:用于Base64的编码
    Encode:MIME::Base64只能编码单字节字符,要用它将中文先进行转换。

2.实现

   

sub getBase64Code{
    my $str=$_[0];
    my $charset=$_[1];
    my $str_tmp;
    $str_tmp=Encode::decode_utf8($str);
    $str_tmp=Encode::encode($charset, $str_tmp);
    $str_tmp=encode_base64($str_tmp);
    chomp($str_tmp);
    $str_tmp="=?".$charset."?B?".$str_tmp."?=";
    return $str_tmp;
}


方法接收要转换的内容及字符码。原理是将内容先转成utf8,再按要求字符码编码,然后再编码成base64,当然这样就可以得到base64编码了,但如果想用于邮件的头中则还要像代码中那样做一些格式化。
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·perl 父子进程的数据库连接继承问题  (2007-11-09 10:42:39)
 ·工作中的实用 perl 脚本  (2007-11-09 10:42:06)
 ·perl中传递和存储文件句柄  (2007-11-09 10:40:55)
 ·curl+perl的自动MAIL报警程序  (2007-11-09 10:39:00)
 ·Perl类包的动态调用  (2007-11-09 10:38:30)
 ·perl 执行一个系统命令(svn info),发一封邮件  (2007-11-09 10:37:11)
 ·windows平台下根据可执行文件名杀掉进程的perl代码段  (2007-11-09 10:36:33)
 ·Perl语言在风险评估的系统基础信息采集工作中的应用  (2007-10-29 11:21:11)
 ·在Perl/CGI中使用模板  (2007-10-11 17:35:11)
 ·PERL CGI 常见问题  (2007-10-11 17:34:39)