PERL的转码有关问题
发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
PERL的转码问题
PERL语言在转码方面怎么实现,比如说
如何在程序里实现utf-8与euc-jp或是shift-jis之间的转换,希望做过的高手给个指点,谢谢了,急用啊.
能给一段小例子吗
------解决方案--------------------
=========程序1========
$a = '中文输入 ';
print $a;
======================
下面是程序2
=========程序2========
use Encode;
use Encode::CN;
$a = '中文输入 ';
$b = encode( "euc-cn ",decode_utf8($a));
print $b;
======================
程序2说明:
因为保存的文本为utf-8格式,所以$a内容为utf-8
decode_utf8($a) , 先将$a的内容(utf-8格式)用utf-8编码decode一下
Encode::CN模块中,encode语法为:encode( "euc-cn ",$utf-8)
按照该格式,将decode过的$a再用中文编码encode一遍即可:$b = encode( "euc-cn ",decode_utf8($a));
$b 为返回值,是encode出来的中文编码
希望这个能给你帮助
------解决方案--------------------
use encoding "euc-jp ", STDIN=> "shiftjis ", STDOUT=> "shiftjis ";
use Unicode::Normalize;#use Encode qw/encode decode/;
这样试试
------解决方案--------------------
通过改变PerlIO层的编码即可实现,配合encoding指示符可以使操作过程更为自然,如读取UTF-16编码的文本文件:
use encoding 'gbk '; # 系统默认编码为GBK
use open IN=> ':encoding(utf16) '; # 读入文件时认为数据按UTF-16编码,自动根据BOM头判断是LE还是BE
open(FH, "test.txt ") or die;
while( <FH> ) { # 读入数据时自动从UTF-16转换为标准的UTF-8编码的Perl字符串
chomp;
print "$_n "; # 由于encoding指定了系统默认编码,输出时数据自动从UTF-8转换为GBK
}
也可以用open的3参数形式指定单个文件句柄的PerlIO层编码,并在输出时手工转换编码:
use Encode; # 需要使用encode函数实现手工转码
open(FH, " <:encoding(utf16) ", "test.txt ") or die; # 指定FH句柄的数据为UTF-16编码
while( <FH> ) { # 读入数据同样自动转换为UTF-8
chomp;
print encode( "gbk ",$_), "n "; # 手动将UTF-8编码字符串转换为GBK编码字符串输出
}
另外使用binmode可以随时切换某个文件句柄的PerlIO层编码,如:
binmode(FH, ":encoding(utf16) "); # 将FH的数据编码置为UTF-16
binmode(FH, ":raw "); # 不对FH的数据进行编解码处理
binmode(FH, ":utf8 "); # 将FH的数据编码置为UTF-8
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
一个用C语言写CGI取得环境变量的问题
写好了html,表单get方法,提交两个字符串,在cgi中用getenv()取回并放入缓存字符串中,然后用sscan...
-
寻做过CGI开发的前辈
最近遇到一个项目,要在嵌入式设备上开发Web应用,类似路由器的管理程序,用到CGI开发技术,有木有前辈做过的,指教一...
-
初学者:如何运行CGI程序?
我安装了apache http server,编写了cgi.exe,放在了cgi-bin目录下,在浏览器中键入
http://127.0.0.1/cgi-bin/...
-
CGI的并发性能与JSP相比怎么样?
rt,就想知道cgi与jsp做聊天室程序哪个好点~
------解决方案--------------------
JSP这么烂啊?
通...
-
CGI关于JS
我用C语言写的CGI,如果需要用JAVASCRIPT,怎么办呢?
------解决方案--------------------
将js写到另外的一个单独的文件...
-
网页上按钮点击历史查询
现在我做了一个有监控功能的网页,上面又好多不同功能的控制按钮,可以通过WEB浏览器进行远程监控,这个功能已...
-
cgi 读写文件问题
刚刚接触cgi,我用c写的
我做嵌入式上的的开发,因为板子上的二极管用一个数据寄存器,需要一个全局变量来控制几个二...
-
移植好goahead 能访问html 不能访问cgi
移植好goahead 能访问html 不能访问cgi? 报错如下:
Access Error: Data follows
CGI proce...
-
求:php 连接 MSSQL2008 代码,以及错误解答。急、急、急!~ Win2008:Apache+php5.3.2 VC9 TS+MSSQL2008,
<?php
$serverName = "(local...
-
CGI如何发送邮件呀?
各位,请教一下,我装的是WINDOWS SERVER 2003,安装有CGI和Perl程序,请问如何发送网页中的内容到指定的邮箱呀?...