javascript

[Javascript] base64로 인코딩 된 문자열을 ArrayBuffer로 디코딩하기(base64 to array buffer)

sewonzzang123 2022. 7. 15. 17:07
반응형

 


다음과 같이 backend에서 byte array를 return 해주었는데 frontend에서 다음과 같이 나타났다.

import java.nio.file.*;


public class TestClass{
	
    public byte[] getByteArray(Path){	
        byte[] arrByte = Files.readAllBytes(Path);       
		return arrByte;
    }
}

 

 

frontend로 받은 값

base64로 인코딩이 되어서 array의 형태를 찾을 수 없었다.

 

구글링을 통해 검색한 결과 javascript에서 디코딩하여 blob 타입으로 만들어 확인할 수 있었다.

  base64ToArrayBuffer = (base64) => {
    var binary_string = window.atob(base64);
    var len = binary_string.length;
    var bytes = new Uint8Array(len);
    for (var i = 0; i < len; i++) {
      bytes[i] = binary_string.charCodeAt(i);
    }
    return bytes.buffer;
  };

 

atob()에 대한 설명은 다음 글에서 확인할 수 있습니다.

2022.07.16 - [javascript] - [Javascript] Base64 인코드, 디코드 하는 방법- atob(), btoa()

 


http://daplus.net/javascript-base64%EB%A1%9C-%EC%9D%B8%EC%BD%94%EB%94%A9-%EB%90%9C-%EB%AC%B8%EC%9E%90%EC%97%B4%EC%97%90-%EB%8C%80%ED%95%9C-arraybuffer/

 

[javascript] base64로 인코딩 된 문자열에 대한 ArrayBuffer - 리뷰나라

ArrayBuffermultipart 게시물에서 사용해야하는 base64 문자열 로 변환하는 효율적인 (원시 읽기) 방법 이 필요합니다. 답변 function _arrayBufferToBase64( buffer ) { var binary = ''; var bytes = new Uint8Array( buffer ); var l

daplus.net

 

반응형