使用
@L_502_0@ – 我可以获取一个字符串并使用多字节字符返回它
UTF-8逃脱:
UTF-8逃脱:
$python3 -c 'print("hello ☺ world".encode("utf-8"))' b'hello \xe2\x98\xba world'
或unicode逃脱:
$python3 -c 'print("hello ☺ world".encode("unicode-escape"))' b'hello \\u263a world'
Perl可以这样做吗?我试过“quoteMeta”,但似乎不是
正确的工具:
$perl -e 'print quoteMeta("hello ☺ world\n");' 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 \342\230\272 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";