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

perl – 转义多字节字符

发布时间:2020-12-15 21:42:08 所属栏目:大数据 来源:网络整理
导读:使用 Python – 我可以获取一个字符串并使用多字节字符返回它 UTF-8逃脱: $python3 -c 'print("hello ? world".encode("utf-8"))'b'hello xe2x98xba world' 或unicode逃脱: $python3 -c 'print("hello ? world".encode("unicode-escape"))'b'hello u2
使用 Python – 我可以获取一个字符串并使用多字节字符返回它
UTF-8逃脱:
$python3 -c 'print("hello ? world".encode("utf-8"))'
b'hello xe2x98xba world'

或unicode逃脱:

$python3 -c 'print("hello ? world".encode("unicode-escape"))'
b'hello u263a world'

Perl可以这样做吗?我试过“quotemeta”,但似乎不是
正确的工具:

$perl -e 'print quotemeta("hello ? worldn");'
hello ??? world

解决方法

例如,Data :: Dumper可以做到这一点.
use utf8;
use Encode;
use Data::Dumper;
$Data::Dumper::Terse = 1;   # suppress  '$VAR1 = ...' header
$Data::Dumper::Useqq = 1;   # make output printable

print Dumper("hello ? world");
print Dumper(encode("UTF-8","hello ? world"));

输出:

"hello x{263a} world"
"hello 342230272 world"

更新:Data :: Dumper模块中的相关功能是qquote,因此您可以跳过设置$Useqq和$Terse:

use utf8;
use Encode;
use Data::Dumper;

print Data::Dumper::qquote("hello ? world"),"n";
print Data::Dumper::qquote(encode("UTF-8","hello ? world")),"n";

(编辑:李大同)

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

    推荐文章
      热点阅读