[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › Buffer

Binary data handling and byte array utilities.

## Classes

| Class                                                                    | Description                                                                                                                                                                                        |
| ------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [BufferError](https://evolu.dev/docs/api-reference/common/Buffer/classes/BufferError) | Custom error for [Buffer](https://evolu.dev/docs/api-reference/common/Buffer/interfaces/Buffer)-related failures like premature end of data. Provides better stack traces for debugging binary protocol issues. |

## Functions

| Function                                                                     | Description                                                                                                |
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| [bytesToHex](https://evolu.dev/docs/api-reference/common/Buffer/functions/bytesToHex)     | Convert byte array to hex string. Uses built-in function, when available.                                  |
| [bytesToUtf8](https://evolu.dev/docs/api-reference/common/Buffer/functions/bytesToUtf8)   | Converts bytes to string using UTF8 encoding.                                                              |
| [concatBytes](https://evolu.dev/docs/api-reference/common/Buffer/functions/concatBytes)   | Copies several Uint8Arrays into one.                                                                       |
| [createBuffer](https://evolu.dev/docs/api-reference/common/Buffer/functions/createBuffer) | Creates a [Buffer](https://evolu.dev/docs/api-reference/common/Buffer/interfaces/Buffer) for efficient byte operations. |
| [hexToBytes](https://evolu.dev/docs/api-reference/common/Buffer/functions/hexToBytes)     | Convert hex string to byte array. Uses built-in function, when available.                                  |
| [utf8ToBytes](https://evolu.dev/docs/api-reference/common/Buffer/functions/utf8ToBytes)   | Converts string to bytes using UTF8 encoding.                                                              |

## Interfaces

| Interface                                                         | Description                                                                                                                                                                                                                                                                                         |
| ----------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Buffer](https://evolu.dev/docs/api-reference/common/Buffer/interfaces/Buffer) | A Buffer is a dynamic, resizable container for binary data, optimized for scenarios where the final size is unknown. It grows exponentially (doubling its capacity) to minimize memory reallocations and uses `subarray` for efficient, copy-free data access in methods like `unwrap` and `shift`. |