모듈 멀티베이스
멀티베이스는 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
8const {
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
6const {
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
2static String multibase.encode(Buffer data,
String codec);
호출 매개변수:
- data:Buffer, 인코딩할 데이터
- codec: 문자열, 인코딩 방법 지정
결과 반환:
- String, 인코딩된 문자열을 반환합니다.
decode
멀티베이스 모드에서 문자열을 이진 데이터로 디코딩
1static Buffer multibase.decode(String data);
호출 매개변수:
- data: String, 디코딩할 문자열
결과 반환:
- Buffer, 디코딩된 이진 데이터를 반환합니다.