gpt4 book ai didi

utf-8 - 我可以问 Perl 6 的 LWP::Simple 来处理格式错误的 UTF-8 吗?

转载 作者:行者123 更新时间:2023-12-01 03:22:20 24 4
gpt4 key购买 nike

我正在使用 LWP::Simple获取包含几个格式错误的字符的网页。我的电话 .get对此大发雷霆。而不是那个,我想让解码插入replacement characters在困惑的部分继续前进。

看起来响应是 Buf对象并使用它.decode .我仍在调查,但缺乏文档使得这比它应该做的更加困难。

最佳答案

如果我理解 LWP::Simpleexample scriptimplementation正确地,我认为您应该通过以下方式处理这样的案件...

设置.force_encoding使用不那么严格的编码:

use LWP::Simple;
my $lwp = LWP::Simple.new;

$lwp.force_encoding = 'utf8-c8';
say $lwp.get('http://www.google.com');
  • utf8 (默认)= UTF8,无效字节导致异常。
  • utf8-c8 = UTF8 对无效字节进行直通。

  • 设置.force_no_encode得到结果为 Buf :

    use LWP::Simple;
    my $lwp = LWP::Simple.new;

    $lwp.force_no_encode = True;
    say $lwp.get('http://www.google.com');

    我无法测试它,因为 LWP::Simple (与zef一起安装)对我来说根本不起作用。 (不确定问题是否与我的 Perl 6 设置有关。)

    我的印象是这个模块现在还不是很完善。这不仅仅是缺少文档——API 似乎也是从 Perl 5 模块(甚至是在 Perl 6 中不太有意义的部分)复制的部分 cargo 崇拜,并且部分由不同的提交者演变而来,在这里和那里添加了很多功能设计重点。

    关于utf-8 - 我可以问 Perl 6 的 LWP::Simple 来处理格式错误的 UTF-8 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44223036/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com