ByteArray
Details
- ByteArray stores data in a memory-efficient way, with the total number of bytes used being close to the length of the array.
- When displayed in InputForm, a ByteArray object displays as ByteArray["string"], where "string" encodes the bytes in Base64 encoding.
- In ByteArray[{b1,b2,…}], all the byte values bi should be integers between 0 and 255.
- ByteArray[{}] and ByteArray[""] produce empty byte arrays. »
- StringToByteArray[ByteArray[…]] yields a string by interpreting the contents of a byte array using UTF-8 encoding.
- ExportByteArray[expr,"fmt"] exports an expression via the export format "fmt", giving the result as a byte array. ImportByteArray can be used to convert a byte array to an expression.
- Normal[ByteArray[…]] yields the list of byte values in the byte array.
- Functions such as Length and Equal work with ByteArray objects.
- Functions such as First, Last, Min, and Max yield integer byte values.
- Part works on ByteArray objects, yielding an integer byte value when it returns a single element, and a ByteArray object when it returns multiple elements.
Examples
open all close allBasic Examples (2)
Create a ByteArray from a list of byte values:
ByteArray[{1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1}]Convert back to a list of byte values:
Normal[%]Create a ByteArray from a Base64-encoded string:
ByteArray["AQIDBAUGBwg="]Convert to a list of byte values:
Normal[%]ByteArray uses Base64 in InputForm:
InputForm[ByteArray[%]]Scope (6)
Get the length of a ByteArray:
Length[ByteArray[Range[32]]]Extract parts of a ByteArray:
b = ByteArray[Range[32]]First[b]Last[b]b[[5 ;; 10]]Normal[ByteArray["AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA="]]Reverse@ByteArray[Range[5]]Normal[%]Read in a "WXF" file as a ByteArray:
ReadByteArray["ExampleData/atoms.wxf"]Read it in 30 bytes at a time:
ReadByteArray["ExampleData/atoms.wxf", 30]ReadByteArray["ExampleData/atoms.wxf", 30]Close the incrementally read file:
Close["ExampleData/atoms.wxf"]Export an image as a ByteArray:
ExportByteArray[[image], "PNG"]Interpret a ByteArray as a PNG image:
ImportByteArray[ByteArray["iVBORw0KGgoAAAANSUhEUgAAADIAAAAwCAYAAABT9ym6AAAAhXpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHja\
VYvBDcMwDAP/mqIjyLJM2uMYiQNkg45fuu0n9yApgbT1vi97felp2dgxABc5csRU6P6juNciDXn+X9MfZGWgoRhTluEkhnJXkqK\
FN+LCAahYcIbnIV8gNQN3o86928QyPusLVffpbh/5eCey7 ... R5YozihqSbGIR7/X0EpFk02b4IBbJZGKOEQBJNrFIIc8ZRQ1JNrFIucQZRQ1JNrFIrcoZRQ1JNs1blFyWqGm\
yhwpM05ROJ+XL7+MDV5zw+GXS/8UqlSJqtzh+13C0W24mGX7vwfoMHwA9xkE/aDGg89BiZJqEDNsQ20OLbQUPLTZ6vtFj6+230I\
Vshgq737AkuT0dqUiSaD58+IP8i1waX/JZRTgD/moxAAAAAElFTkSuQmCC"], "PNG"]Properties & Relations (6)
ByteArray uses Base64 encoding of its data in InputForm:
InputForm[ByteArray[{1, 2, 3}]]This string can be generated using BaseEncode:
BaseEncode[ByteArray[{1, 2, 3}]]Convert a byte array to an ordinary, one-dimensional list using Normal:
ByteArray[{1, 2, 3}]Normal[%]Compute the length of a byte array:
ByteArray[{1, 2, 3}]Length[%]{ByteArray[{}], ByteArray[""]}Convert a ByteArray to a string using ByteArrayToString:
ByteArrayToString[ByteArray["YcOhzrE="]]Convert back to a ByteArray using StringToByteArray:
StringToByteArray["aáα"]BinarySerialize converts expressions to a sequence of bytes returned as a ByteArray:
BinarySerialize[{1, Plot, "hello", Hold[Now]}]It can be reversed using BinaryDeserialize:
BinaryDeserialize[ByteArray["ODpmBHMETGlzdEMBcwRQbG90UwVoZWxsb2YBcwRIb2xkcwNOb3c="]]Related Guides
Text
Wolfram Research (2015), ByteArray, Wolfram Language function, https://reference.wolfram.com/language/ref/ByteArray.html (updated 2023).
CMS
Wolfram Language. 2015. "ByteArray." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2023. https://reference.wolfram.com/language/ref/ByteArray.html.
APA
Wolfram Language. (2015). ByteArray. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ByteArray.html
BibTeX
@misc{reference.wolfram_2026_bytearray, author="Wolfram Research", title="{ByteArray}", year="2023", howpublished="\url{https://reference.wolfram.com/language/ref/ByteArray.html}", note=[Accessed: 15-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_bytearray, organization={Wolfram Research}, title={ByteArray}, year={2023}, url={https://reference.wolfram.com/language/ref/ByteArray.html}, note=[Accessed: 15-June-2026]}