欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

神奇的Perl-第六个任务(4)

程序员文章站 2022-04-29 13:48:48
...

本神奇的Perl系列为刘兴(http://deepfuture.iteye.com/)原创,未经笔者授权,任何人和机构不能转载

4) 通过指定文件句柄MYTXT的编码,指定my.txt使用GBK编码

open MYTXT,>my.txt;

      binmode(MYTXT, ':encoding(BGK)');

1)     输出unicode字符,perl4-17.pl部分代码如下:

my $v="\x{80DC}";#“胜”的十六进制unicode编码为80DC

print $v;#输出

 

1.1         直接解码和编码

使用Encode模块完成对某字符串的编码和解码,相对中文字符而言,字符编码主要是GBKUTF8

1、   解码

使用decode子程序,将指定编码的字符串解码为Perl内部格式的字符串。语法如下:

decode(字符编码,待解码字符串);

2、 编码

使用encode子程序,将Perl内部格式的字符串编码为指定编码的字符串。语法如下:

encode(字符编码,待编码字符串);

1、 我们以读取utf8格式的perl4-16-utf8.txt,然后以gbk格式输出到屏幕和perl4-16-gbk.txt文件为例。以下是部分代码,全部代码在书的附属光盘内:

 

    my $newline=decode("utf8",$line);          #完成UTF8解码到PERL内部格式字符串

         print  "$newline\n";#gbk格式输出到屏幕

         print  MYTXTGBK  encode("GBK",$newline);#gbk格式输出到perl4-16-gbk.txt文件

相关标签: Perl