加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl中文/unicode/utf8/GB2312之间的转换

发布时间:2020-12-15 23:52:24 所属栏目:大数据 来源:网络整理
导读:本文转载自:?http://www.voidcn.com/article/p-uvxrilix-ux.html Perl中文/unicode/utf8/GB2312编码之间的转换是一件很让人头疼的事情,我总结了以下主要的转换方法,供大家了解参考。 span style="font-size:14px;"# author: jiangyujieuse utf8;use Encod

本文转载自:?http://www.voidcn.com/article/p-uvxrilix-ux.html

Perl中文/unicode/utf8/GB2312编码之间的转换是一件很让人头疼的事情,我总结了以下主要的转换方法,供大家了解参考。


<span style="font-size:14px;"># author: jiangyujie
use utf8;
use Encode;
use URI::Escape;

$/ = "/n";

#从unicode得到utf8编码
$str = '%u6536';
$str =~ s//%u([0-9a-fA-F]{4})/pack("U",hex($1))/eg;
$str = encode( "utf8",$str );
print uc unpack( "H*",$str );

# 从unicode得到gb2312编码
$str = '%u6536';
$str =~ s//%u([0-9a-fA-F]{4})/pack("U",hex($1))/eg;
$str = encode( "gb2312",$str );

# 从中文得到utf8编码
$str = "收";
print uri_escape($str);

# 从utf8编码得到中文
$utf8_str = uri_escape("收");
print uri_unescape($str);

# 从中文得到perl unicode
utf8::decode($str);
@chars = split //,$str;
foreach (@chars) {
    printf "%x ",ord($_);
}

# 从中文得到标准unicode
$a = "汉语";
$a = decode( "utf8",$a );
map { print "//u",sprintf( "%x",$_ ) } unpack( "U*",$a );

# 从标准unicode得到中文
$str = '%u6536';
$str =~ s//%u([0-9a-fA-F]{4})/pack("U",$str );
print $str;

# 从perl unicode得到中文
my $unicode = "/x{505c}/x{8f66}";
print encode( "utf8",$unicode );</span>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读