# BSON::Bytes - phpMan

## 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-j>
    son.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

