728x90
반응형
Buffer 클래스의 toString() 함수의 원형은 다음과 같습니다.
Buffer.toString([encoding], [start], [end])
각 매개변수는 다음과 같습니다.
매개변수 | 데이터형 | 설명 | 필수여부 |
---|---|---|---|
encoding | string | Encoding to use. 'utf8' is the default encoding. See the encoding list. | Optional |
start | number | Beginning at the start, defaults to 0. | Optional |
end | number | Ending at the end. Defaults to buffer.length. | Optional |
toString() 함수에서 지원하는 인코딩 (encoding) 형식은 다음과 같습니다.
Encoding | Description |
---|---|
'ascii' | for 7 bit ASCII data only. This encoding method is way fast, but is limited to the ascii character set. To convert a null character into 0x00, you should use 'utf8'. |
'utf8' | Multibyte encoded Unicode characters. It has become the dominant character encoding for the world wide web. |
'utf16le' | 2 or 4 bytes, little-endian encoded Unicode characters, surrogate pairs (U+10000 to U+10FFFF) are supported. |
'ucs2' | Alias of 'utf16le'. |
'base64' | Base64 string encoding. |
'binary' | Method of encoding raw binary data into strings by using only the first 8 bits of each character. This encoding method is deprecated. |
'hex' | This method is used to encode each byte as two hexadecimal characters. |
다음은 Buffer 내의 데이터를 헥사 문자열로 변환하여 출력하는 예제입니다.
data = Buffer.from([0x62, 0x75, 0x66, 0x66, 0x65, 0x72]);
console.log(data);
console.log("hexa [1] = " + data.toString('hex'));
console.log("hexa [1.5] = " + data.toString('hex', 1, 18));
console.log("hexa [1.9] = " + data.toString('hex', 10, 18));
console.log("hexa [2] = " + Array.prototype.map.call(new Uint8Array(data),
x => ('00' + x.toString(16)).slice(-2))
.join('').match(/[a-fA-F0-9]{2}/g).join(' ').toString());
실행 결과는 다음과 같습니다.
Buffer(6) [98, 117, 102, 102, 101, 114]
hexa [1] = 627566666572
hexa [1.5] = 7566666572
hexa [1.9] =
hexa [2] = 62 75 66 66 65 72
참고자료
- "Buffer.toString ()은 어떤 인코딩을 지원합니까?":https://www.it-swarm.dev/ko/node.js/823250906/
- "Using Buffers in Node.js":https://www.w3resource.com/node.js/nodejs-buffer.php
'프로그래밍' 카테고리의 다른 글
유용한 Visual Studio Code 확장(extension) 프로그램 (0) | 2021.04.15 |
---|---|
[git] 윈도우 환경에서 실행권한이 있는 쉘 스크립트를 추가하는 방법 (0) | 2020.12.01 |
[python] AttributeError module has no attribute (0) | 2020.06.17 |
[python] pypreprocessor 설치하기 (2) | 2020.06.16 |
[python] pycrypto를 이용한 DES-ECB 암호화 (0) | 2020.06.11 |