首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >硒get_screenshot_as_file对get_screenshot_as_base64?

硒get_screenshot_as_file对get_screenshot_as_base64?
EN

Stack Overflow用户
提问于 2014-08-29 09:46:56
回答 1查看 3.4K关注 0票数 0

我想知道一个比另一个好/缺点是什么?

我在一个无头远程实例上运行Selenium,使用Xvfb作为显示。

这两种方法都运行良好,结果的屏幕捕获文件(如果我转换base64捕获文件并将其保存为图像文件)是相同的文件大小和外观相同。

那么,我为什么要使用/不使用其中一个而另一个呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-29 10:07:40

使用get_screenshot_as_file,屏幕截图get保存到一个二进制文件中,而使用get_screenshot_as_base64,这将返回该屏幕快照的base64编码版本。

那么,为什么会有人使用base64版本呢?base64背后的全部想法是,它允许您创建二进制数据的ASCII表示,这将增加数据大小,但也允许您实际使用它。例如,如果您试图将二进制数据流发送到套接字,而不对其进行编码,那么除非服务器准备好处理二进制数据,否则很难预测结果。

因此,传输的数据可能是畸形的,提前切断传输,并导致许多其他的结果,几乎是无法预测的。例如,如果您要运行一个非常简单的套接字服务器,该服务器只需将接收到的所有内容输出到std:: out,接收二进制文件很可能会损坏您的控制台终端(您可以在您自己的Linux机器上尝试它)。

当然,如果服务器是为了接收和处理二进制数据而设计的,那么这将不是一个问题,但是服务器端通常会将用户输入解释为字符串,这使得使用base64成为明智的选择。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25565737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档