我使用Perl和我得到的字符串:如何十六進制轉換爲字符串在Perl
AGN \ u00e8s b
我怎樣才能將其轉換爲
agnèsb
?
我試過使用下面的代碼。
my $hex = "agn\u00e8s b";
$hex =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
print "$hex\n";
但它失敗並顯示出一些奇怪的字符。更重要的是,我還需要展示中文單詞。例如,
\ u9eb5 \ u5305
如何將其轉換爲以下?
麪包
如果上面的代碼被包含在一個文件中,最後一行在上面,然後是三行,那麼它產生了輸出:agn00e8s b。既然您要求對輸出進行編碼,那麼文件中有什麼不妥之處呢? – stackoverflowery
@Neeraj Tuteja,這是因爲OP的輸入(我盲目複製)是不正確的。固定。對不起,我之前沒有注意到你的評論。 – ikegami