繁体   English   中英

html中base 64编码字符串的结构

[英]Structure of base 64 encoded strings in html

我用 Selenium (Python) 下载了网站的页面源代码 (html)。 我希望在 html 文件中找到所有 base 64 编码的字符串。

html中所有base 64编码的字符串是否有已知的结构? 根据我的观察,它似乎以;base64开头,然后是十六进制字符串,最后是右括号) 那准确吗?

从 Wikipedia 中,十六进制字符串还必须由以下内容组成: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ 有人也可以确认吗?

提前非常感谢!

* 编辑 1 *

非常感谢 Tris,您提供的链接非常有帮助,但是。 由此看来,base 64 字符串的结尾似乎没有特定的格式。 如果我想检测它的结束,除了)之外,你会给出什么建议?

我主要是想跟踪一堆网站的变化,而base64编码中包含很多与我使用无关的数据。 因此,为了节省存储空间,我打算删除它们。 一个例子是www.amd.com ,它有以下data:image/png;base64,... (被浏览器渲染后)。

由于有许多不同的网站,我不知道它们的所有格式。 以下是我发现但对我没有用的 base64 字符串的其他一些示例:

data:font/truetype;base64,AAEAAA...

data:image/png;base64,iVBORw0KG...

对于我看到的几个示例,它们都以右括号)结尾。 请问在什么情况下他们会以)结束,否则?

再次感谢!

并非所有 base64 编码的字符串都会在开头包含;base64 - 这通常特定于数据 URL 如果您专门寻找 base64 编码的图像或其他内联元素,否则这些元素将被 HTTP URL 引用,这可能没问题。 右括号通常不相关,我还没有看到数据 URL 或其他 base64 编码字符串所需的。

通常,base64 编码的字符串使用您提到的字母表—— ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ 如果编码长度不是 3 个字节的倍数,则在末尾用适当数量的=字符填充。

web 上还有另一种常用的 base64 格式—— URL-safe base64 格式。 在这种编码中, +/通常被替换为-_ ,因此它们可以安全地包含在 URL 中,因此得名。

如果您了解更多关于您尝试解析的网站的结构,则此信息可能无关紧要,除了“它们包含 base64 编码的字符串数据”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM