7

特定のファイル長で Base64 でエンコードされたファイルがあります。サイズをバイト単位で取得するにはどうすればよいですか?

例:

var size= canvas.toDataURL();   

console.log(resizeCanvasURL.length);


// -> 132787  base64 length
4

3 に答える 3

11

Base64 エンコーディングの各シンボルは、6 ビットの情報を保持します。通常のファイルの各シンボルは 8 ビットを保持します。デコード後、必要な情報量は同じになるため、次のようになります。

normal file size - 1000 bytes
base64 file size - 1333 bytes
于 2013-07-01T16:47:22.083 に答える
7

ミシクからの答えは間違っています。

Base64 は =-chars で埋められます (適切な量のビットを持つため)。だからそうあるべきだ

    var byteLength = parseInt((str).replace(/=/g,"").length * 0.75));
于 2016-09-22T13:12:53.910 に答える