Rebol 3 - 阅读网站

时间:2013-07-11 21:36:51

标签: rebol rebol3

基本问题,但我查看文档的前五分钟告诉我没什么用处。

在rebol 2中:

>> read http://www.google.com
== {<!doctype html><html itemscope="itemscope" itemtype="http://schema.org/WebPage"><head><meta content="Search the world's informa...

在rebol 3中:

>> read http://www.google.com
== #{
3C21646F63747970652068746D6C3E3C68746D6C206974656D73636F70653D22
6974656D73636F706522206974656D747970653D22687474703A2F2F73636865
6D612E6F72672F57656250616765223E3C686561643E3C6D65746120636F6E74
656E743D225365617263682074686520776F726C64277320696E666F726D6174
696F6E2C20696E636C7564696E672077656270616765732C20696D616765732C
20766964656F7320616E64206D6F72652E20476F6F676C6520686173206D616E
79207370656369616C20666561747572657320746F2068656C7020796F752066
696E642065786163746C79207768617420796F7527...

我意识到这是base-16二进制文件,但是如何将其转换为易于解析的形式?我是否需要先将解析规则转换为二进制?

2 个答案:

答案 0 :(得分:3)

你看到的base-16输出是内部只是普通二进制文件的漂亮打印表示!这是一个8位字节的序列:

>> type? read http://www.rebol.com/       
== binary!

parse可以正常使用二进制文件!所以你可以直接使用PARSE的结果。

或者,您可以UTF-8将结果解码为字符串!通过to-string

>> type? to-string read http://www.rebol.com/
== string!

答案 1 :(得分:3)

或者,为了更贴近您的问题,这里是字符串输出

>> to-string read http://www.rebol.com/
== {<!doctype html>
<html><head>    
<meta name="generator" content="REBOL WIP Wiki"/>
<meta name="date" content="24-Jun-2013/20:08:20-7:00"/>
..