目前还没有关于红色的书籍,因为它是如此新颖。因此,我试图跟随一本旧的Rebol书,并从中挽救我所能得到的东西。
我找到了一些命令,例如read
,由于文件编码,我无法执行代码。
save %/c/users/abagget/desktop/bay.jpg read http://rebol.com/view/bay.jpg
Access Error: invalid UTF-8 encoding: #{FFD8FFE0}
在Rebol中,这^将被读/二进制和写/二进制
>> write %/c/alex.txt read http://google.com
*** Access Error: invalid UTF-8 encoding: #{A050726F}
有没有办法将传入内容转换为UTF-8,以便我可以读取? 还是有其他类型的读取处理非UTF-8?
答案 0 :(得分:4)
在Rebol中,这^将被读/二进制和写/二进制
在Red中,save
用于将Red数据类型转换为二进制格式的序列化文本。因此,如果您想要image!
到JPEG文件,则需要提供read
值。 write/binary %/c/users/abagget/desktop/bay.jpg read/binary http://rebol.com/view/bay.jpg
获取文本内容(目前仅限UTF-8),因此您的使用无效。正确的行应该是:
bin-to-string: function [bin [binary!]][
text: make string! length? bin
foreach byte bin [append text to char! byte]
text
]
有没有办法将传入内容转换为UTF-8,以便我可以进行阅读?
要从非UTF-8文本资源中获取字符串,您需要将资源作为二进制文件获取,然后编写一个可怜的人转换器,它应该适用于常见的Latin-1编码:< / p>
>> bin-to-string read/binary http://google.com
== {<!doctype html><html itemscope="" itemtype="http://schema.org...
从控制台使用它:
<html>
<head>
<script type="text/javascript">
var i = 1;
var x = setInterval(function() {
var x = document.getElementById("li1");
console.log(x.style.color);
if (x.style.color == "blue"){
x.style.color = "yellow";
} else if (x.style.color === "yellow"){
x.style.color = "red";
} else if (x.style.color === "red"){
x.style.color = "blue";
}
}, 1000);
</script>
</script>
<body>
<div class="leftDiv">
<div id = "stepsId" >
<ol>
<li id="li1" style="color: blue;"><b>Step 1</b></li>
<li id="li2"><b>Step 2</b></li>
<li id="li3"><b>Step 3</b></li>
</ol>
</div>
</div>
</body>
</html>
Red将来会为常用的文本编码提供正确的转换器。在此期间,您可以使用此类功能,或者为您最常使用的编码编写适当的解码器(使用转换表)。