Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript DataView.getUint8() 함수 – 부호 없는 8비트 정수 읽기


DataView 객체의 getUint8() 메서드는 지정된 바이트 오프셋 위치에 저장된 부호 없는 8비트 정수(unsigned 8-bit integer)를 읽어 그 값을 반환합니다.

문법(Syntax)

기본 문법은 다음과 같습니다.

dataView.getUint8(byteOffset);
  • byteOffset: 값을 읽어 올 시작 위치를 나타내는 바이트 단위의 오프셋입니다.

예제 1: 기본 사용법

다음 예제는 ArrayBuffer를 생성한 뒤, setUint8()로 값을 저장하고 getUint8()로 다시 읽어오는 과정을 보여줍니다. 참고로 8비트 정수는 0~255 범위만 표현할 수 있으므로, 657을 저장하면 657 % 256인 145가 저장됩니다.

<html>
<head>
   <title>JavaScript Example</title>
</head>
<body>
   <script type="text/javascript">
      var arrayBuffer = new ArrayBuffer(20);
      var dataView = new DataView(arrayBuffer);
      dataView.setUint8(1, 657);
      document.write(dataView.getUint8(1));
   </script>
</body>
</html>

출력

145

예제 2: 실수 값 전달하기

이 함수에는 실수(float) 값을 직접 전달할 수 없습니다. 실수를 전달하면 소수점 이하가 버려지고 정수로 변환되어 처리됩니다. 따라서 아래 예제에서 657.82는 657로 변환되어 저장되며, 결과 역시 동일하게 145가 됩니다.

<html>
<head>
   <title>JavaScript Example</title>
</head>
<body>
   <script type="text/javascript">
      var arrayBuffer = new ArrayBuffer(20);
      var dataView = new DataView(arrayBuffer);
      dataView.setUint8(1, 657.82);
      document.write(dataView.getUint8(1));
   </script>
</body>
</html>

출력

145

예제 3: 값이 저장되지 않은 경우

DataView에 아무 값도 저장하지 않은 상태에서 데이터를 읽으려고 하면 이 함수는 0을 반환합니다. ArrayBuffer는 생성될 때 모든 바이트가 0으로 초기화되기 때문입니다.

<html>
<head>
   <title>JavaScript Example</title>
</head>
<body>
   <script type="text/javascript">
      var arrayBuffer = new ArrayBuffer(20);
      var dataView = new DataView(arrayBuffer);
      dataView.setUint8(1);
      document.write(dataView.getUint8(1));
   </script>
</body>
</html>

출력

0