首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何获得Perl 6理解的编码列表?

如何获得Perl 6理解的编码列表?
EN

Stack Overflow用户
提问于 2017-01-02 21:08:13
回答 1查看 291关注 0票数 9

我在/src/core/Rakudo/Internals.pm中看到了一个包含简短编码列表的散列,但没有办法在此之外找到它。NORMALIZE_ENCODING方法是唯一使用它的方法。使用不在此列表中的内容,您就会得到异常。

那么,在我尝试之前,我如何知道什么是有效的,特别是在缺少一些重要的编码的情况下?

代码语言:javascript
运行
复制
my $encodings := nqp::hash(
      # fast mapping for identicals
      'utf8',            'utf8',
      'utf16',           'utf16',
      'utf32',           'utf32',
      'ascii',           'ascii',
      'iso-8859-1',      'iso-8859-1',
      'windows-1252',    'windows-1252',
      # with dash
      'utf-8',           'utf8',
      'utf-16',          'utf16',
      'utf-32',          'utf32',
      # according to http://de.wikipedia.org/wiki/ISO-8859-1
      'iso_8859-1:1987', 'iso-8859-1',
      'iso_8859-1',      'iso-8859-1',
      'iso-ir-100',      'iso-8859-1',
      'latin1',          'iso-8859-1',
      'latin-1',         'iso-8859-1',
      'csisolatin1',     'iso-8859-1',
      'l1',              'iso-8859-1',
      'ibm819',          'iso-8859-1',
      'cp819',           'iso-8859-1',
    );
    method NORMALIZE_ENCODING(Str:D \encoding) {
        my str $key = nqp::unbox_s(encoding);
        if nqp::existskey($encodings,$key) {
            nqp::atkey($encodings,$key)
        }
        else {
            my str $lc = nqp::lc($key);
            nqp::existskey($encodings,$lc)
              ?? nqp::atkey($encodings,$lc)
              !! nqp::lc($key)
        }
    }
EN

回答 1

Stack Overflow用户

发布于 2018-06-25 05:30:12

关于你最初的问题:似乎没有这样的事情。但是,编码的代码已经更改,现在可以使用注册新编码并检查现有编码;这些列表也有可用编码。了。

还有一个函数find,如果存在编码对象,则返回它:

代码语言:javascript
运行
复制
say Encoding::Registry.find('oh-no'); 
# OUTPUT: «(exit code 1) Unknown string encoding 'oh-no'␤»
say Encoding::Registry.find('latin1'); 
#OUTPUT: «Encoding::Builtin.new(name => "iso-8859-1")␤»

相应的类现在已经记录下来了。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41433287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档