gpt4 book ai didi

encoding - 访问错误: invalid UTF-8 encoding ${FFD8FFE0}

转载 作者:行者123 更新时间:2023-12-02 20:48:09 31 4
gpt4 key购买 nike

现在还没有任何关于红色的书,因为它太新了。因此,我正在尝试遵循一本旧的 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?

最佳答案

In Rebol this^ would have been read/binary and write/binary

在 Red 中,save 用于将 Red 数据类型转换为二进制格式的序列化文本。因此,如果您想保存到JPEG文件,您需要提供一个image!值。 read 获取的是文本内容(目前仅限于 UTF-8),因此您的使用无效。正确的行应该是:

 write/binary %/c/users/abagget/desktop/bay.jpg read/binary http://rebol.com/view/bay.jpg

Is there a way to convert incoming content to UTF-8 so I can do the read?

要从非 UTF-8 文本资源获取字符串,您需要以二进制形式获取资源,然后编写一个穷人转换器,该转换器应该适用于常见的 Latin-1 编码:

bin-to-string: function [bin [binary!]][
text: make string! length? bin
foreach byte bin [append text to char! byte]
text
]

从控制台使用它:

>> bin-to-string read/binary http://google.com
== {<!doctype html><html itemscope="" itemtype="http://schema.org...

Red 将来将为常用的文本编码提供适当的转换器。同时,您可以使用这样的函数,或者为您最常用的编码编写适当的解码器(使用转换表)。

关于encoding - 访问错误: invalid UTF-8 encoding ${FFD8FFE0},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43379932/

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