---
name: "BSON::Bytes"
section: "3pm"
platform: "linux"
package: "libbson-perl"
version: "1.12.2-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/BSON::Bytes"
---

# BSON::Bytes(3pm)

BSON type wrapper for binary byte strings

## NAME

BSON::Bytes - BSON type wrapper for binary byte strings

## VERSION

version v1.12.2

## SYNOPSIS

```
    use BSON::Types ':all';
    $bytes = bson_bytes( $bytestring );
    $bytes = bson_bytes( $bytestring, $subtype );
```

## DESCRIPTION

This module provides a BSON type wrapper for binary data represented as a string of bytes.

## ATTRIBUTES

### data

A scalar, interpreted as bytes.  (I.e. "character" data should be encoded to bytes.)  It defaults to the empty string.

### subtype

A numeric BSON subtype between 0 and 255.  This defaults to 0 and generally should not be modified.  Subtypes 128 to 255 are "user-defined".

## METHODS

### TO\_JSON

Returns Base64 encoded string equivalent to the data attribute.

If the `"BSON_EXTJSON"` option is true, it will instead be compatible with MongoDB's extended JSON \<https://github.com/mongodb/specifications/blob/master/source/extended-json.rst\> format, which represents it as a document as follows:

```
    {"$binary" : { "base64": "<base64 data>", "subType" : "<type>"} }
```

## OVERLOADING

The stringification operator (`""`) is overloaded to return the binary data and fallback overloading is enabled.

## AUTHORS

- •

  David Golden \<david@mongodb.com\>

- •

  Stefan G. \<minimalist@lavabit.com\>

## COPYRIGHT AND LICENSE

This software is Copyright (c) 2020 by Stefan G. and MongoDB, Inc.

This is free software, licensed under:

```
  The Apache License, Version 2.0, January 2004
```
