Base64:如何编码/解码页面的整个 HTML 代码

Base64: how to encode / decode the entire HTML code of a page

我正在尝试对页面进行编码:

btoa(document.querySelector('html').innerHTML)

但它不适用于此类数据,有谁知道如何实现?

Unicode 字符可能是这个原因。尝试使用来自 mozilla 站点 (https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/btoa) 的示例:

function utoa(str) {
    return window.btoa(unescape(encodeURIComponent(str)));
}

function atou(str) {
    return decodeURIComponent(escape(window.atob(str)));
}

// Usage:
utoa('✓ à la mode'); // 4pyTIMOgIGxhIG1vZGU=
atou('4pyTIMOgIGxhIG1vZGU='); // "✓ à la mode"

utoa('I \u2661 Unicode!'); // SSDimaEgVW5pY29kZSE=
atou('SSDimaEgVW5pY29kZSE='); // "I ♡ Unicode!"