Documentation

bytes

A sequence of bytes.

This is conceptually similar to an array of integers between 0 and 255, but represented much more efficiently. You can iterate over it using a for loop.

You can convert

When reading data from a file, you can decide whether to load it as a string or as raw bytes.

#bytes((123, 160, 22, 0)) \
#bytes("Hello 😃")

#let data = read(
  "rhino.png",
  encoding: none,
)

// Magic bytes.
#array(data.slice(0, 4)) \
#str(data.slice(1, 4))
Preview

Constructor
Question mark

Converts a value to bytes.

#bytes("Hello 😃") \
#bytes((123, 160, 22, 0))
Preview

value
str or bytes or array
RequiredPositional
Question mark

The value that should be converted to bytes.

Definitions
Question mark

len

The length in bytes.

self.len(
) -> int

at

Returns the byte at the specified index. Returns the default value if the index is out of bounds or fails with an error if no default value was specified.

self.at() -> any

index
int
RequiredPositional
Question mark

The index at which to retrieve the byte.

default
any

A default value to return if the index is out of bounds.

slice

Extracts a subslice of the bytes. Fails with an error if the start or index is out of bounds.

self.slice() -> bytes

start
int
RequiredPositional
Question mark

The start index (inclusive).

end
none or int
Positional
Question mark

The end index (exclusive). If omitted, the whole slice until the end is extracted.

Default: none

count

The number of items to extract. This is equivalent to passing start + count as the end position. Mutually exclusive with end.