반응형
- HTTP 통신 API 에서 JSON body 값은 보통 hex String 을 사용한다.
- Nodejs 에서 특정 데이터 타입을 hex String 으로 변환 또는 복구해야하기 때문에 아래 코드를 정리했다.
Buffer -> hex String -> Buffer
let buffer = new Buffer.from("hello world"); // <Buffer 68 65 6c 6c 6f 20 77 6f 72 6c 64>
let bufferHexString = buffer.toString('hex'); // 68656c6c6f20776f726c64
let bufferRecovered = Buffer.from(bufferHexString, 'hex'); // <Buffer 68 65 6c 6c 6f 20 77 6f 72 6c 64>
let isEqual = Buffer.compare(buffer, bufferRecovered); // 0 (equal)
Uint8Array -> hex String -> Uint8Array
const areEqual = (first, second) =>
first.length === second.length && first.every((value, index) => value === second[index]);
let arr = new Uint8Array([11,21,31]); // Uint8Array(3) [ 11, 21, 31 ]
let arrHexString = Buffer.from(arr).toString('hex'); // 0b151f
let arrRecovered = Uint8Array.from(Buffer.from(arrHexString, 'hex')); // Uint8Array(3) [ 11, 21, 31 ]
let isEqual = areEqual(arr, arrRecovered)); // true
text -> base64 text -> text
var originText = "This is example text.";
console.log("Original : ", originText);
// Base64 Encoding
base64EncodedText = Buffer.from(originText, "utf8").toString('base64');
console.log("Base64 Encoded Text : ", base64EncodedText);
// Base64 Decoding
base64DecodedText = Buffer.from(base64EncodedText, "base64").toString('utf8');
console.log("Base64 Decoded Text : ", base64DecodedText);
반응형
'프로그램언어 > Javascript' 카테고리의 다른 글
nestjs dotenv 설정 (0) | 2022.05.19 |
---|---|
npm dependency 고정하기 (0) | 2022.05.18 |
node_modules 로컬 파일 바라보기 (0) | 2022.05.16 |
async 함수 throw catch (0) | 2022.05.10 |
npm init - permission denied 해결 (0) | 2022.03.30 |