Javascript Base64:如何对页面的整个HTML代码进行编码/解码

Javascript Base64:如何对页面的整个HTML代码进行编码/解码,javascript,google-chrome,firefox,phantomjs,base64,Javascript,Google Chrome,Firefox,Phantomjs,Base64,我正在尝试对页面进行编码: btoa(document.querySelector('html').innerHTML) 但是它不能处理这样的数据,有人知道怎么做吗?Unicode字符可能是原因。请尝试从mozilla站点()使用此示例: Unicode字符可能是原因之一。请尝试从mozilla站点()使用此示例: 你想只对页面文本进行编码吗?也就是只对文本进行编码…我认为@Pradeep1991Sing的意思是,你想包括CSS、图像等吗?如果想验证html,你可以简单地使用JSON。在bto

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

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

但是它不能处理这样的数据,有人知道怎么做吗?

Unicode字符可能是原因。请尝试从mozilla站点()使用此示例:


Unicode字符可能是原因之一。请尝试从mozilla站点()使用此示例:


你想只对页面文本进行编码吗?也就是只对文本进行编码…我认为@Pradeep1991Sing的意思是,你想包括CSS、图像等吗?如果想验证html,你可以简单地使用
JSON。在
btoa
JSON之前将
字符串化。在
atob
之后解析
。如果你只需要检测更改,JSON字符串化还不够吗?base64编码给你带来了什么?base64编码将是巨大的,而且这种怪物的时间负载超过了它可能提供的任何好处。你想只编码页面文本吗?那只是文本…我认为@pradeep1991singh的意思是,你想包括CSS、图像、,等等。如果你想验证html,那么你可以简单地在
btoa
之前使用
JSON.stringify
,在
atob
之后使用
JSON.parse
。如果你只需要检测更改,JSON stringify还不够吗?base64编码给了你什么?base64编码将是巨大的,而且这种怪物的时间负载超过了它可能提供的任何好处。
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!"