manual:chapter6:libdata:cmd_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

Legend

Keyword type Command
Parallel list processing capabilities Group 7 Multiple argument, one result commands
Affected by flags None

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


Arbitrary data containers 9 NEW

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
  • manual/chapter6/libdata/cmd_binputb.txt
  • Last modified: 2021/09/23 00:44
  • by jojo1973