모듈 기본 모듈

모듈 멀티베이스

Multibase는 Base1x 인코딩을 기반으로 하며 다양한 인코딩 접두사 인코딩 방법을 도입합니다.

multibase는 다른 인코딩 방법을 사용하여 동일한 데이터를 인코딩하고 인코딩 방법을 나타내는 접두어를 추가할 수 있습니다. 멀티베이스에서 지원하는 15가지 인코딩 방법이 있습니다. 즉, base1, base2, base8, base10, base16,base32, base32hex, base32z, base36, base40, base56, base58flickr, base58btc,base64, base64url. 그 중 base16,base32그리고base64더 일반적으로 사용됩니다.

multibase는 이진 데이터의 표현을 변경하지 않고 변경하는 데 사용할 수 있습니다. 예를 들어 무작위로 생성된 이진 데이터를 다음과 같이 인코딩합니다.base32다음 형식의 문자열:

1 2 3 4 5 6 7 8
const { encode } = require('multibase'); const crypto = require('crypto'); const data = crypto.randomBytes(10); // generate 10 bytes random data const encodedStr = encode(data, 'base32'); // encode data to base32 string console.log(encodedStr); // ==> "bpgwnvztqmlbo5fy"

위의 문자열을 원시 이진 데이터로 디코딩합니다.

1 2 3 4 5 6
const { decode } = require('multibase'); const data = decode('bpgwnvztqmlbo5fy', 'base32'); // decode base32 string to data console.log(data); // ==> <Buffer a7 55 3d 33 ca 97 ac 0d aa 40>

보시다시피 멀티베이스를 통해 원본 바이너리 데이터를 다음과 같이 인코딩합니다.base32형식을 취하고 이 문자열을 원시 이진 데이터로 디코딩할 수 있습니다.

정적 함수

encode

다중 기반 방식으로 데이터 인코딩

1 2
static String multibase.encode(Buffer data, String codec);

호출 매개변수:

  • data:Buffer, 인코딩할 데이터
  • codec: 문자열, 인코딩 방법 지정

반환 결과:

  • String, 인코딩된 문자열을 반환합니다.

decode

멀티베이스 모드에서 문자열을 이진 데이터로 디코딩

1
static Buffer multibase.decode(String data);

호출 매개변수:

  • data: 문자열, 디코딩할 문자열

반환 결과:

  • Buffer, 디코딩된 이진 데이터를 반환합니다.