Int to Bytes
부호 없는 정수를 바이트로 변환한다 (길이: 최소, 고정, 또는 Length 포트의 값)
개요
부호 없는 정수(Int, 0 이상, 임의 정밀도 bigint 포함)를 지정한 바이트 순서(빅엔디안 또는 리틀엔디안)와 길이 정책(최소 길이, 고정 바이트 길이, 또는 외부 Length 포트 길이)에 따라 바이트 배열(Uint8Array)로 직렬화한다.
사용 시점
- 패킷 헤더의 카운터, 시퀀스 번호, 타임스탬프, 비트 길이를 고정 크기(예: 4바이트 또 8바이트) 바이트 배열로 인코딩할 때 사용한다.
- 큰 정수를 빅엔디안/리틀엔디안 바이트 표현으로 바꿀 때 사용한다.
파라미터 설정
| 파라미터 (ID) | 타입 및 기본값 | 노출 조건 | 설명 및 옵션 |
|---|---|---|---|
길이 방식lengthMode |
select기본값: min |
항상 노출 | 출력 바이트 길이를 결정하는 방식(auto = 최소 바이트 수, fixed = 파라미터로 지정한 고정 바이트 수, port = Length 입력 포트에서 받은 바이트 수)이다.
|
길이length |
number기본값: 1 |
lengthMode가 fixed 일 때 |
lengthMode = fixed일 때 출력할 고정 바이트 길이(0 이상의 정수)이다. |
엔디언endian |
select기본값: big |
항상 노출 | 바이트 정렬 순서(big = 최상위 바이트 먼저, little = 최하위 바이트 먼저)이다.
|
포트 입출력 명세
포트 연결 규칙, 데이터 타입별 색상, 가변 포트 생성 방식은 포트 및 연결 문서를 참고한다.
입력 포트
포트 성격: 고정 입력 포트 (총 2개).
| 포트 이름 | 포트 ID | 데이터 타입 | 필수 여부 | 노출 조건 | 설명 |
|---|---|---|---|---|---|
Value |
in |
Int |
필수 | 항상 노출 | |
Length |
length |
Int |
선택 | 항상 노출 | 출력할 목표 바이트 길이(Int, 0 이상)이다. lengthMode = port일 때만 노출되며 필수 입력이다. |
출력 포트
포트 성격: 고정 출력 포트 (총 1개).
| 포트 이름 | 포트 ID | 데이터 타입 | 노출 조건 | 설명 |
|---|---|---|---|---|
Bytes |
out |
Bytes |
항상 노출 |
오류 케이스
실행 중 아래 조건이 발생하면 이 노드는 ERROR 상태가 되며, 출력 포트에 연결된 하위 노드는 실행되지 않는다.
| 오류 코드 | 기본 엔진 메시지 | 발생 조건 |
|---|---|---|
BYTES_INT_OVERFLOW |
정수가 지정한 길이·부호로 표현되지 않는다 | 지정한 고정/포트 바이트 길이($L$바이트)로 입력 정수($ge 2^{8L}$)를 다 담을 수 없을 때 발생한다. |
BYTES_INVALID_ARGUMENT |
인자 값이 올바르지 않는다 | 입력 정수가 음수이거나, 길이가 음수/정수가 아닐 때, 또는 lengthMode = port에서 Length가 연결되지 않았을 때 발생한다. |
활용 예시
정수를 4바이트 빅엔디안 카운터로 인코딩하기
정수 1을 00 00 00 01 바이트열로 변환한다.
- Int to Bytes의 엔디안을
big, 길이 지정 방식을fixed, 바이트 길이를4로 설정한다. - 정수
1을Int포트에 연결하면00 00 00 01이 출력된다.