`
lzqustc
  • 浏览: 211030 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

Perl之Encode::Detect

    博客分类:
  • Perl
阅读更多

以处理csv(内容含中文)为例,使用Encode 模块。因为csv如果包含中文,需要转码否则出现分割列的时候会出现错位。

 

use Encode qw /from_to/;

use Encode::Detect::CJK qw(detect);

 

sub test_csv {

my $file_name = $_[0];

my $table;

open(CSV, $file_name);

$first_line=1;

@titles = ();

while($_=<CSV>) { #读取一行

if($_ =~ /NULL$/){

next;

} else {

my $charset = detect($_);  #检测当前编码格式

from_to($_,$charset,'utf-8'); #编码格式转为utf-8

s/"//g;

my @list = split /;/,$_;

my @tmps = split(/,/, $list[0]); #分割列

if ($first_line) {

 $first_line = 0;

 @titles = split(/,/, $list[0]);

 next;

}

 

my $var;

my $i;

my $row_count = scalar(@titles);

for ($i = 1; $i < $row_count; $i++) {

 $tmps[$i]=~s/[\r\n]//g;#去掉\r\n

 $tmps[$i]=~ s/\s\s+//g;#去掉空格

 $var->{$titles[$i]} = decode("utf-8",$tmps[$i]); #

}

$table->{$tmps[0]} = $var;

#print"$tmps[0]\n";

}

}

close(CSV);

return $table;

}

分享到:
评论

相关推荐

    perl-Encode-Detect-1.01-28.el8.ppc64le.rpm

    官方离线安装包,亲测可用

    md5加密解密 string Md5Encode::Encode

    std::(std::string src_info) { ParamDynamic param; param.ua_ = kA; param.ub_ = kB; param.uc_ = kC; param.ud_ = kD;... std::string result;... const char *src_data = src_info.c_str();... int total_byte = ...

    perl-Encode-Detect-1.01-13.el7.x86_64.rpm

    离线安装包,亲测可用

    perl-Encode-Detect-1.01-28.el8.x86_64.rpm

    官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装

    Encode-Detect-1.01.tar.gz

    "Encode-Detect-1.01.tar.gz" 是一个压缩包文件,通常在Linux或Unix-like操作系统中使用,用于集合多个文件或目录并压缩成一个单一的可传输或存储的文件。这种格式结合了tar(归档)和gzip(压缩)两个工具的功能,...

    perl-Encode-Locale-1.03-5.el7.noarch.rpm

    离线安装包,亲测可用

    webmin-2.021 及其相关依赖包

    webmin-2.021 及其相关依赖包 ... perl-Encode-2.51-7.el7.x86_64.rpm perl-Exporter-5.68-3.el7.noarch.rpm perl-File-Path-2.09-2.el7.noarch.rpm perl-File-Temp-0.23.01-3.el7.noarch.rpm 等……

    rh-perl524-perl-Encode-devel-2.80-379.el7.noarch.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    SNMP离线下载包,适用于Centos8的系统

    3. `perl-Encode-2.97-3.el8.x86_64.rpm`:Perl的Encode模块,用于处理字符编码问题,确保数据在不同系统间正确传输。 4. `net-snmp-libs-5.8-22.el8.x86_64.rpm`:SNMP网络库,包含了SNMP协议操作所需的底层实现。 ...

    AS_ASPX_AES_ENCODE:蚁剑AES加密通信ASPX Webshell

    【标题】AS_ASPX_AES_ENCODE:蚁剑AES加密通信ASPX Webshell 【正文】 在网络安全领域,Webshell是一种常见的后门程序,攻击者利用它来远程控制被黑的Web服务器。"AS_ASPX_AES_ENCODE"是针对ASP.NET环境的一种特定...

    perl-Encode-Detect-1.01-28.el8.aarch64.rpm

    官方离线安装包,亲测可用

    mongo-perl-bson:BSON规范的Perl实现http://bsonspec.org

    例如,你可以使用 `BSON::encode` 函数将 Perl 数据结构转换为 BSON 字节,然后使用 `BSON::decode` 将这些字节反序列化回 Perl 数据结构。此外,`mongo-perl-bson` 还支持自定义的编码和解码逻辑,允许你扩展其功能...

    Perkes Encode:Perl脚本编码声音文件-开源

    通过使用Perl这种强大的文本处理语言,Perkes Encode提供了一个多格式、多线程的音频编码脚本工具,它允许用户轻松地在各种音频格式间转换,满足不同的使用需求。 首先,让我们探讨一下Perkes Encode的核心功能。它...

    JSON-PP:Perl核心模块的JSON :: PP

    JSON-PP是Perl实现JSON解析和编码的主要库之一,它的全称是"JSON - Pretty Print",即“漂亮的打印JSON”。 该模块提供了两个主要功能:将Perl的数据结构转换为JSON字符串,以及将JSON字符串解析为Perl的数据结构。...

    perl-Encode-HanExtra

    《perl-Encode-HanExtra:深入理解Perl编码处理与扩展库》 在Perl编程领域,正确处理汉字和其他Unicode字符是至关重要的。`perl-Encode-HanExtra` 是一个专门用于增强Perl对汉字编码处理能力的扩展库,它为Perl的内...

    Perl_and_unicode_and_encode:Kichijoji.pm Mini 006“ Perl,Unicode,Encode

    Kichijoji.pm迷你“ Perl,Unicode,Encode”的简历基础知识字符集,编码和字形(字体)不同的。小心!参考Perlunitut.pod Perluniintro.pod perlunicode.pod perlunifaq.pod第一步注意)请将以下所有源代码保存在...

    Perl_and_unicode_and_encode-源码.rar

    Perl提供了一些选项来处理这些情况,如`Encode::FB_QUIET`和`Encode::FB_WARN`。 在压缩包中的源码示例中,你可以看到如何在实际项目中应用这些概念。通过阅读和学习这些代码,你将更深入地了解如何在Perl中有效地...

    PY-ENCODE:轻松加密所有Python脚本

    截屏安装 : apt update apt install git python2 -y git clone https://github.com/PY-ENCODE cd PY-ENCODE运行: python2 PY-ENCODE.py或者 ; 使用单个命令apt update && apt install git python2 -y && git clone...

    perl-MIME-Lite-3.30.0-6.mga6.noarch.rpm

    " .encode_base64(encode("utf8", $opt-&gt;{subject}), "") . "?=", #Type =&gt; 'text/html', #'Content-transfer-encoding'=&gt;'7bit', Data =&gt;encode("utf8", $opt-&gt;{body}), Encoding =&gt; 'base64', ); $msg-&gt;attr...

    perl读写xml文件

    Perl的`Encode`模块可以帮助处理不同编码间的转换。例如,如果XML文件是GBK编码,读取时应指定正确的编码: ```perl use Encode; open my $fh, '&lt;:encoding(gbk)', 'example.xml' or die "Cannot open file: $!"; ...

Global site tag (gtag.js) - Google Analytics