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))

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