我有一个用 Base64 编码的文件,具有一定的文件长度。如何获取以字节为单位的大小?
例子:
var size= canvas.toDataURL();
console.log(resizeCanvasURL.length);
// -> 132787 base64 length
我有一个用 Base64 编码的文件,具有一定的文件长度。如何获取以字节为单位的大小?
例子:
var size= canvas.toDataURL();
console.log(resizeCanvasURL.length);
// -> 132787 base64 length
Base64 编码中的每个符号包含 6 位信息。普通文件中的每个符号都包含 8 位。因为解码后你有你需要的相同数量的信息:
normal file size - 1000 bytes
base64 file size - 1333 bytes
mishik 的回答是错误的。
Base64 用 =-chars 填充(具有正确数量的位)。所以应该是
var byteLength = parseInt((str).replace(/=/g,"").length * 0.75));
const stringLength = resizeCanvasURL.length
const sizeInBytes = 4 * Math.ceil(stringLength / 3) * 0.5624896334383812;
const sizeInKb = sizeInBytes / 1000;
或者
const stringLength = resizeCanvasURL.length
const sizeInBytes = stringLength * (3 / 4) - 2;
const sizeInKb = sizeInBytesNew / 1000;