【问题标题】:Convert hex values to characters将十六进制值转换为字符
【发布时间】:2015-05-27 13:06:25
【问题描述】:

我有这样的字符串:“Film-DVD \x{bb}Once / The Swell Season (Collector's Edition\x{ab} John Carney" 这是 Data::Dumper 的结果。

现在我希望将十六进制值 \x{bb}、\x{ab} 替换为相应的字符 » 和 «。

我已经试过了:

$a =~ s/\\x\{(.{2})\}/chr(hex($1))/eg;

但这让我回到了“电影-DVD “Once / The Swell Season (Collector's Edition - John Carney”)

你有什么想法吗?

【问题讨论】:

  • 你设置输出编码了吗?

标签: perl unicode


【解决方案1】:

您发布的代码是正确的。

问题似乎是您忘记告诉 Perl 对输出进行编码。这通常使用

use open ':std', ':encoding(UTF-8)';

【讨论】:

    猜你喜欢
    • 2018-01-22
    • 2012-02-03
    • 2018-01-31
    • 2020-03-14
    • 2020-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-06
    相关资源
    最近更新 更多