【问题标题】:Getting a Unicode code point ("character") by name按名称获取 Unicode 代码点(“字符”)
【发布时间】:2016-08-07 10:18:27
【问题描述】:

Perl 使得获取符号非常方便。

$ perl -CO -E 'say "\N{FAMILY}"'
????

有没有办法通过插值来评估带有"\N{}" 的符号?类似于:

perl -CO -E 'my $what = "FAMILY"; say "\N{$what}"'

(这不起作用,但会给你带来味道)。

除了可行性之外,这种评估是否有任何缺点或可能的威胁?例如。说$what 字符串是用户定义的,我永远不会eval $what。我会安全地\N{$what} 吗?

操作...

得到答案后,我注意到perlunicook 中清楚地说明了这些信息。抱歉缺少 RTFM。无论如何,我想这对 stackoverflow 来说是件好事。

【问题讨论】:

    标签: perl unicode


    【解决方案1】:

    使用charnames 中的vianame 函数:

    perl -CO -Mcharnames=:full -wE 'say chr charnames::vianame("PILE OF POO")'
    ?
    

    【讨论】:

    • 有趣的例子。
    • 这家伙让我很开心
    • 值得,只是为了举例。
    【解决方案2】:
    use charnames ();
    my $what = "FAMILY";
    say charnames::string_vianame($what);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 2016-10-06
      • 1970-01-01
      • 2010-11-24
      • 1970-01-01
      相关资源
      最近更新 更多