모듈 기본 모듈

모듈 멀티베이스

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

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

멀티베이스를 사용하면 이진 데이터의 표시를 변경하지 않고 변경할 수 있습니다. 예를 들어 무작위로 생성된 이진 데이터를 다음과 같이 인코딩합니다.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: String, 디코딩할 문자열

결과 반환:

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