我正在尝试下载一个网页;然后使用正则表达式进行分析;然后获取被正则表达式发现的文件。我有两个问题:
(1) 我使用
从 shell 中看,那些格式错误的 UTF-8 字符会显示为一个 blob(二进制大块),而这个命令会和我的程序一样出现错误:
"perl6 的错误输出为:"
在终端或shell上,一个格式不正确的UTF-8字符会显示为像这样的一个blob:
如果我试图删除非打印字符,那么结果就是我会错过大量的文件链接。
如何最好地处理这些格式不正确的UTF-8字符,或任何格式不正确的Unicode字符,甚至是格式不正确的控制字符?
(1) 我使用
wget
来下载网页和文件,使用以下代码:my $webPage = "onePage";
my $result = run <<wget -O $webPage $aSite>>, :out, :err;
其中$webPage
是从wget
输出的文件。问题:是否有perl6等价于wget?我使用了来自perl6网站的模块URI::FetchFile
;它可以获取一些文件,但无法获取网页。
(2) 由wget下载的$webPage有时包含格式不正确的UTF-8字符,这导致我的程序崩溃。当我执行
cat onePage
从 shell 中看,那些格式错误的 UTF-8 字符会显示为一个 blob(二进制大块),而这个命令会和我的程序一样出现错误:
cat onePage | perl6 -ne '.say;'
"perl6 的错误输出为:"
Malformed UTF-8
in block <unit> at -e line 1
在终端或shell上,一个格式不正确的UTF-8字符会显示为像这样的一个blob:
h�lt
如果我试图删除非打印字符,那么结果就是我会错过大量的文件链接。
$tmpLine ~~ s/<-[print]>//; # this causes my program to miss many files
如何最好地处理这些格式不正确的UTF-8字符,或任何格式不正确的Unicode字符,甚至是格式不正确的控制字符?