programing

typescript express 서버에서 base64로 문자열을 디코딩/인코딩하는 방법

megabox 2023. 7. 8. 10:48
반응형

typescript express 서버에서 base64로 문자열을 디코딩/인코딩하는 방법

나는 타자기로 작성된 급행 서버를 가지고 있습니다.

~하듯이atob()또는btoa()브라우저, Nodejs에서 작동합니다.

우리는 일반적으로 사용합니다.

Buffer.from("some-string").toString('base64')문자열을 base64로 인코딩합니다.

그러나 TypeScript로 코드를 작성할 때는 이것이 작동하지 않는 것 같습니다.도움이 필요해요

노드 유형 스크립트:

import { Buffer } from "buffer";

const b64 = "SGVsbG8sIFdvcmxkIQ==";
const str = 'Hello, World!'

const decode = (str: string):string => Buffer.from(str, 'base64').toString('binary');
const encode = (str: string):string => Buffer.from(str, 'binary').toString('base64');

test('base64 decode', () => {
  expect(decode(b64)).toEqual(str)
});

test('base64 decode', () => {
  expect(encode(str)).toEqual(b64)
});

test('base64 encode/decode', () => {
  expect(decode(encode(str))).toEqual(str)
});

인코딩 문자열에 btoa를 사용하십시오.

console.log(btoa("abc")); // YWJj

동일한 문자열을 디코딩하는 에 사용

console.log(atob("YWJj")); // abc

사용한 경우window.btoa(fileData)맨 앞에

참고: zerkms에서 피드백을 받고 패키지 코드도 읽어보니 수동으로 하면 될 것 같습니다.하지만 저는 일을 하기 위해 그것을 두 번 실행해야 했습니다.
저는 또한 큰 이미지를 해독하려고 했습니다.

그런 다음 nodejs 서버에서 버퍼를 직접 사용할 수 있습니다.

const b64 = "SGVsbG8sIFdvcmxkIQ==";
const fileDataProcessed = Buffer.from(b64, 'base64').toString('binary')
const decodedData = Buffer(fileDataProcessed, 'base64')

// This is the code that you can now upload to your s3 bucket, or somewhere else.
console.log(decodedData);

언급URL : https://stackoverflow.com/questions/56952405/how-to-decode-encode-string-to-base64-in-typescript-express-server

반응형