我有一個在Base64中編碼的文件,具有一定的文件長度。我如何獲得以字節爲單位的大小?什麼是以字節爲單位的base64長度?
實施例:
var size= canvas.toDataURL();
console.log(resizeCanvasURL.length);
// -> 132787 base64 length
我有一個在Base64中編碼的文件,具有一定的文件長度。我如何獲得以字節爲單位的大小?什麼是以字節爲單位的base64長度?
實施例:
var size= canvas.toDataURL();
console.log(resizeCanvasURL.length);
// -> 132787 base64 length
從mishik的答案是錯誤的。
Base64填充了= -chars(具有適當的位數)。所以它應該是
var byteLength = parseInt((str).replace(/=/g,"").length * 0.75));
我發現了一個更好的解決方案:將Base64字符串轉換爲「普通」字符串,然後讀取長度:var str = atob(base64); var byteLength = str.length; –
我不確定這個解決方案是否準確。我收到了不好的結果。 – jdmdevdotnet
正確的代碼示例,應該是:'var byteLength = parseInt((str).replace(/ =/g,「」)。length * 0.75);' – GomatoX
你的意思是你從base64解碼後的文件的長度?你必須先解碼它。 –
Base64 - 5位,正常字符 - 8位=>'size * 1.6' – mishik
@RobertHarvey我更新了我的帖子 – daisy