This is an old revision of the document!
BINPUTB
Synopsis
Store bytes into binary data object
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 #00h
.
Compatibility
This command is new in newRPL and does not exist in userRPL.
Usage
4: BINDATA 2 AAAAAAAAAAAA 3: 0 2: #1122334455667788h 1: 8 …………………………………………………………………………………… BINPUTB
will result in
1: BINDATA 2 VWZ3iYESIzR4 ……………………………………………………………………………………
a data container storing bytes { #88h #77h #66h #55h #44h #33h #22h #11h }
in positions from 0 to 7.
4: BINDATA 2 AAAAAAAAAAAA 3: 0 2: "∞̅" 1: 2 …………………………………………………………………………………… BINPUTB
(where character on level 2 is $\overline{\infty}$, obtained with LShold-0) will result in
1: BINDATA 2 AAAFHiAAAAAA ……………………………………………………………………………………
a data container storing bytes { #1Eh #05h }
in positions from 0 to 1.
4: BINDATA 2 AAAAAAAAAAAA 3: 0 2: { #1122334455h #5544332211h } 1: 2 …………………………………………………………………………………… BINPUTB
will result in
1: BINDATA 2 AAARVZAAAAAA ……………………………………………………………………………………
a data container storing bytes { #55h #11h #00h #00h #00h #00h #00h #00h }
in positions from 0 to 1.
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 |