私はこのようにそれをやろうとしている:イメージファイルをベース2バイナリに変換するにはどうすればよいですか?
function handleFiles(files) {
var selectedFile = files[0];
var reader = new FileReader();
reader.readAsBinaryString(selectedFile);
reader.onloadend = function() {
var result = reader.result;
convert(result);
};
}
function convert(data) {
var img = document.createElement("img");
var result = data.toString(2);
document.body.appendChild(img);
img.src = 'data:image/jpeg;base64,' + btoa(data); // this works
console.log("Base ?: " + data); // not sure, I think 16 or more likely 64,
// the MDN documentation doesn't specify what base of binary is produced by the readAsBinaryString method
console.log("Base 2: " + result); // not base 2 binary data as expected
}
<input type="file" id="input" onchange="handleFiles(this.files)">
このコードは、それをレンダリングし、バイナリデータにJPEGに変換しますが、最初の2進をベースに変換されていません。あなたがそのコードを実行してログを見ると、それは何か(私はベースとバイナリの主題については素朴ですが、私の推測はベース16または64です)です。私はtoString(2)
がベース2に変換されるはずですが、それはそうしていないようです。それをベース64に戻す前に、私は2進数のデータを実験のために基数2にしたいと思っています。
私が読んだ:あなたが戻って何か他のものへのバイナリ文字列から取得したい場合は、一度に8ビット(または何を)引き出すことができますので、あなたはおそらくパッドにゼロのバイナリをお勧めしますこのオプションや代替オプションに関連するすべてのメソッドで見つけることができるすべてのドキュメントですが、私はそれを行う方法を理解できないようです。 –