Javascript 二进制base64在CasperJS处编码

Javascript 二进制base64在CasperJS处编码,javascript,phantomjs,casperjs,Javascript,Phantomjs,Casperjs,有没有办法在CasperJS对二进制数据进行base64编码? 我的意思是: var pdfFile = require('fs').open('some.pdf', 'br'); var pdf = pdfFile.read(); var encoded = _some_func_for_encode(pdf); 谢谢。您当然可以使用本机js方法,如btoa()和atob() 下面是一个非常基本的phantomjs脚本: var fs = require('fs'); var filedat

有没有办法在CasperJS对二进制数据进行base64编码?
我的意思是:

var pdfFile = require('fs').open('some.pdf', 'br');
var pdf = pdfFile.read();
var encoded = _some_func_for_encode(pdf);

谢谢。

您当然可以使用本机js方法,如btoa()和atob()

下面是一个非常基本的phantomjs脚本:

var fs = require('fs');
var filedata = fs.read('thefilehere');
var res = btoa(filedata);
console.log(res);
phantom.exit();
Base64编码/解码并不复杂,您可以轻松找到js函数,例如。

您可以使用Base64编码资源:

var base64_file = casper.base64encode('https://example.com/some.pdf');

不幸的是,PhantomJS不支持btoa()。此外,我发现的所有库都只能对字符串进行编码,而不能对二进制数据进行编码。PhantomJS不支持btoa(),但网页模块支持它。因为phantomJs使用WebKit,所以它可以工作。看我的代码幻影现在支持它;刚刚在控制台上测试过。修改答案。