BINPUTB
Synopsis
Store bytes into a binary data container
Stack Diagram
Input Stack | Output Stack | ||||
---|---|---|---|---|---|
Ddest | Numoffset | Numsrc | Numbytes | → | Ddest-upd |
Ddest | Numoffset | Ssrc | Numbytes | → | Ddest-upd |
Ddest | Numoffset | Lsrc | Numbytes | → | Ddest-upd |
Level 4 | Level 3 | Level 2 | Level 1 | → | Level 1 |
Description
The BINPUTB
command stores a specified number of bytes into a binary data container, starting from an offset position; it's not possible to write data exceeding the container's size.
The source of data can be:
- a scalar: the number is converted to an unsigned binary integer and divided into bytes which are stored in the container, in little endian byte order;
- a string: the string is converted to a stream of UTF8 codepoints whose lower 8 bits are stored into the container;
- a list of scalars: each number is converted to an unsigned binary integer and its lower 8 bits are written in the container.
If the size of the source data is less than the specified number of bytes remaining bytes will be set to #0h
.
Compatibility
BINPUTB
is specific to newRPL and has no direct equivalent in userRPL.
Usage
Input
4: BINDATA 2 AAAAAAAAAAAA 3: 0 2: #1122334455667788h 1: 8 ………………………………………………………………………………………………………… BINPUTB
Output
4: 3: 2: 1: BINDATA 2 VWZ3iYESIzR4 …………………………………………………………………………………………………………
Related Commands
Command | Short Description | |
---|---|---|
MKBINDATA | Create binary data container object | NEW |
BINPUTB | Store bytes into binary data object | NEW |
BINGETB | Extract binary data as list of bytes | NEW |
BINPUTW | Store 32-bit words into binary data object | NEW |
BINGETW | Extract data from a binary data object as a list of 32-bit words | NEW |
BINPUTOBJ | Store an entire object into a binary data container | NEW |
BINGETOBJ | Extract an entire object from a binary data container | NEW |
BINMOVB | Copy binary data block into a binary data object | NEW |
BINMOVW | Copy 32-bit words between binary data objects | NEW |