0
鑑於下面的兩個函數,我用base64編碼和解碼。 如果我編碼然後解碼,我只是這樣做,然後我沒有得到我的輸出和我的輸入之間相同的值。編碼然後在base64解碼不會輸出我的輸入arraybuffer
任何想法我做錯了什麼?
function _base64ToArrayBuffer(string_base64) {
var binary_string = window.atob(string_base64);
var len = binary_string.length;
var bytes = new Uint8Array(len);
for (var i = 0; i < len; i++) {
var ascii = string_base64.charCodeAt(i);
bytes[i] = ascii;
}
return bytes.buffer;
}
function _arrayBufferToBase64(array_buffer) {
var binary = '';
var bytes = new Uint8Array(array_buffer);
var len = bytes.byteLength;
for (var i = 0; i < len; i++) {
binary += String.fromCharCode(bytes[ i ])
}
return window.btoa(binary);
}
var input = my_ArrayBuffer;
var raw_data_base64 = _arrayBufferToBase64(input);
var ouput = _base64ToArrayBuffer(raw_data_base64);
你是對的,我還以爲你在做不同的東西。 –