>  기사  >  웹 프론트엔드  >  nodejs에서 버퍼를 숫자로 변환하는 방법

nodejs에서 버퍼를 숫자로 변환하는 방법

王林
王林원래의
2023-05-23 11:26:07957검색

Buffer는 Node.js에서 바이너리 데이터를 처리하는 데 사용되는 개체입니다. 네트워크 데이터 읽기 및 쓰기, 파일 작업, 암호화 알고리즘과 같은 시나리오에서 중요한 역할을 할 수 있습니다. 바이너리 데이터를 처리하는 과정에서 Buffer 유형을 숫자 유형과 같은 다른 유형으로 변환해야 하는 경우가 있습니다. 이 기사에서는 Buffer 유형을 숫자 유형으로 변환하는 방법을 소개합니다.

  1. 버퍼 유형을 16진수 문자열로 변환

버퍼 유형을 숫자 유형으로 변환하기 전에 먼저 16진수 문자열로 변환해야 합니다. 이는 아래와 같이 Buffer 개체의 toString() 메서드를 호출하여 달성할 수 있습니다.

const buf = Buffer.from('abcd', 'utf8');
const hexString = buf.toString('hex'); // "61626364"

위 코드에서는 먼저 문자열 'abcd'를 포함하는 Buffer 개체를 만든 다음 이를 16진수 문자열로 변환합니다.

  1. 16진수 문자열을 숫자 유형으로 변환

16진수 문자열을 숫자 유형으로 변환하기 전에 숫자 유형과 기본 시스템 간의 관계를 이해해야 합니다. JavaScript에서는 숫자 유형이 10진수, 2진수, 8진수, 16진수 등 다양한 방식으로 표현됩니다. 그 중 십진수는 기본 표현입니다. 16진수 문자열을 숫자 유형으로 변환하려면 아래와 같이 parseInt() 함수를 사용하고 기본 매개변수를 16으로 지정해야 합니다.

const hexString = '61626364';
const num = parseInt(hexString, 16); // 1633837924

위 코드에서는 16진수 문자열 '61626364'를 변환합니다. 해당 숫자 유형 1633837924로 변환되어 변수 num에 할당됩니다.

  1. 버퍼 유형을 숫자 유형으로 직접 변환

버퍼 유형을 16진수 문자열로 변환한 다음 숫자 유형으로 변환하는 것 외에도 Node.js에서는 버퍼 유형을 숫자 유형으로 직접 변환하는 방법도 제공합니다. 이는 아래와 같이 Buffer 개체의 읽기 메서드를 사용하여 달성할 수 있습니다.

const buf = Buffer.from([0x01, 0x02, 0x03, 0x04]);
const num = buf.readUInt32BE(); // 16909060

위 코드에서는 먼저 바이트 시퀀스 [0x01, 0x02, 0x03, 0x04]를 포함하는 Buffer 개체를 만든 다음 readUInt32BE() 메소드 해당하는 부호 없는 32비트 정수로 변환합니다. readUInt32BE() 메서드의 매개 변수는 읽을 바이트 순서를 지정합니다. 여기서 BE는 Big Endian을 나타냅니다.

  1. 버퍼 유형을 다른 유형의 숫자로 변환

버퍼 유형을 16진수 문자열 및 숫자 유형으로 변환하는 방법 외에도 다음과 같은 다른 유형의 숫자로 변환해야 하는 상황이 있습니다. 부동 소수점 또는 부호 있는 정수입니다. 이는 아래와 같이 Buffer 개체의 읽기 메서드를 사용하고 읽을 바이트 수와 인코딩 방법을 지정하여 달성할 수 있습니다.

const buf = Buffer.from([0x41, 0xb0, 0x00, 0x00]);
const num = buf.readFloatBE(); // 11

위 코드에서는 먼저 [0x41, 0xb0 바이트를 포함하는 시퀀스를 만듭니다. , 0x00, 0x00 ] 버퍼 객체를 생성한 다음 readFloatBE() 메서드를 사용하여 해당 부동 소수점 숫자로 변환합니다. readFloatBE() 메서드의 매개변수는 읽기의 바이트 순서와 인코딩 방법을 지정합니다. 여기서 BE는 Big Endian을 나타냅니다.

이 기사에서는 버퍼 유형을 16진수 문자열로 변환, 16진수 문자열을 숫자 유형으로 변환, 버퍼 유형을 직접 숫자 유형으로 변환, 버퍼 유형을 다른 유형의 숫자로 변환 등 버퍼 유형을 숫자 유형으로 변환하는 다양한 방법을 소개했습니다. 유형. 이러한 방법을 이해함으로써 바이너리 데이터를 보다 유연하게 처리하고 Node.js 개발 효율성을 더욱 향상시킬 수 있습니다.

위 내용은 nodejs에서 버퍼를 숫자로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.