Node.js에서 Base64 인코딩
이 짧은 기사에서는 Node.js에서 문자열이나 텍스트를 base64로 변환하는 방법을 배웁니다.
Node.js의 Base64 인코딩
‘버퍼 객체’는 고정 길이 바이트 시퀀스를 나타내는 데 사용됩니다. 많은 Node.js API가 버퍼를 지원합니다.
변환할 문자열과 문자열의 현재 인코딩을 사용하는 Buffer.from()
메서드를 사용하여 문자열을 일련의 바이트로 변환할 수 있습니다. 이 인코딩을 UTF8.
로 지정할 수 있습니다.
JavaScript 클래스 Uint8Array
는 버퍼 클래스
하위 클래스로, 다양한 사용 상황에 맞게 새로운 메서드를 추가합니다. 간단한 Uint8Arrays
는 버퍼가 지원되는 한 Node.js API에서 허용됩니다.
버퍼 클래스
는 전역 범위에서 액세스할 수 있지만 여전히 가져오기를 사용하거나 이를 명시적으로 참조하는 명령문이 필요합니다. 디코딩은 임의의 방법을 사용하여 버퍼를 문자열로 바꾸는 것이고 인코딩은 문자열을 버퍼로 바꾸는 것입니다.
그런 다음 toString()
함수를 사용하여 변환된 바이트를 base64
로 반환할 수 있습니다. 변환 중에 필요한 인코딩은 이 절차에서 허용되는 매개변수를 통해 지정됩니다.
다음은 Node.js가 지원하는 추가적인 binary-to-text
인코딩입니다.
base64
base64url
헥스
Base64 인코딩은 문자열에서 버퍼를 구성할 때 RFC 4648 섹션 5
에 설명된 URL 및 파일 이름 안전 알파벳을 허용합니다. 공백, 탭 및 줄 바꿈을 포함하여 base64로 인코딩된 문자열의 공백입니다.
간단한 예를 들어 이해해 봅시다.
암호:
console.log(Buffer.from('Hello DelftStack Readers!').toString('base64'));
console.log(Buffer.from('SGVsbG8gRGVsZnRTdGFjayBSZWFkZXJzIQ==', 'base64')
.toString('ascii'));
텍스트를 버퍼에 전달하고 base64로 인코딩할 것으로 예상했습니다. 다음 코드 줄에서는 base64
에서 일반 텍스트인 ascii
로 버퍼를 디코딩합니다.
Node.js를 지원하는 컴파일러에서 위의 예제를 실행해 보세요.
출력:
SGVsbG8gRGVsZnRTdGFjayBSZWFkZXJzIQ==
Hello DelftStack Readers!
Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.
LinkedIn