==== BINPUTB ==== ---- Store bytes into a binary data container ---- ^ __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// | {{page>manual:chapter6:aux:legend&nofooter&noeditbtn&inline}} | **Keyword type** | [[manual:chapter5:basics#commands|Command]] || | **Parallel list processing capabilities** | [[manual:chapter5:listproc#group-7multiple-argument-one-result-commands|Group 7]] | //Multiple argument, one result commands// | | **Affected by flags** | //None// || ---- 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''. ---- ''BINPUTB'' is specific to **newRPL** and has no direct equivalent in **userRPL**. ---- **__Input__** 4: BINDATA 2 AAAAAAAAAAAA 3: 0 2: #1122334455667788h 1: 8 ………………………………………………………………………………………………………… BINPUTB \\ **__Output__** 4: 3: 2: 1: BINDATA 2 VWZ3iYESIzR4 ………………………………………………………………………………………………………… ---- {{page>manual:chapter6:libdata&nofooter&noeditbtn&inline}}