標籤:http 檔案上傳 tail span returns col sdn 中文 test
js的base64編碼和解碼
英文是這樣的:
// atob() 將base64解碼// btoa() 將字串轉碼為base64var str = ‘javascript‘;window.btoa(str)//轉碼結果 "amF2YXNjcmlwdA=="window.atob("amF2YXNjcmlwdA==")//解碼結果 "javascript"
中文需要特殊一下。需要用到轉碼 encodeURIComponent 和 decodeURIComponent
console.log(window.btoa(encodeURIComponent("哈哈")))
console.log(decodeURIComponent(window.atob("JUU1JTkzJTg4JUU1JTkzJTg4")))
JUU1JTkzJTg4JUU1JTkzJTg4
哈哈
base64 轉 blob 對象,檔案上傳
/** * base64 轉 blob 對象,檔案上傳 * 轉載自:http://blog.csdn.net/hsany330/article/details/52575459 * @param dataURI * @returns {Blob} */ function dataURItoBlob(dataURI) { var byteString = atob(dataURI.split(‘,‘)[1]); var mimeString = dataURI.split(‘,‘)[0].split(‘:‘)[1].split(‘;‘)[0]; var ab = new ArrayBuffer(byteString.length); var ia = new Uint8Array(ab); for (var i = 0; i < byteString.length; i++) { ia[i] = byteString.charCodeAt(i); } return new Blob([ab], {type: mimeString}); }
js中的blob,base64,url之間的關係