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 convert
- a string or an array of integers to bytes with the
bytesconstructor - bytes to a string with the
strconstructor - bytes to an array of integers with the
arrayconstructor
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))

构造函数参数参数是传给函数的输入,写在函数名后的括号中。
Converts a value to bytes.
- Strings are encoded in UTF-8.
- Arrays of integers between
0and255are converted directly. The dedicated byte representation is much more efficient than the array representation and thus typically used for large byte buffers (e.g. image data).
#bytes("Hello 😃") \
#bytes((123, 160, 22, 0))

定义定义这些函数和类型带有附属定义。要访问这种定义,请先写上函数或类型的名称,再加上定义的名称,并用句点在中间分隔。
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.
index
The index at which to retrieve the byte.
defaultany
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.
start
The start index (inclusive).
end
The end index (exclusive). If omitted, the whole slice until the end is extracted.
默认值: none
count
The number of items to extract. This is equivalent to passing
start + count as the end position. Mutually exclusive with
end.