# A classe MongoDB\BSON\Binary

(mongodb >=1.0.0)

## Introdução

Tipo BSON para dados binários (ou seja, array de bytes). Os valores binários também possuem um subtipo, que é usado para indicar que tipo de dados está no array de bytes. Os subtipos de zero a 127 são predefinidos ou reservados. Os subtipos de 128 a 255 são definidos pelo usuário.

## Resumo da classe

final class MongoDB\BSON\Binary implements MongoDB\BSON\BinaryInterface, MongoDB\BSON\Type, JsonSerializable, Stringable {
/* Constantes */
const int TYPE_GENERIC = 0;
const int TYPE_FUNCTION = 1;
const int TYPE_OLD_BINARY = 2;
const int TYPE_OLD_UUID = 3;
const int TYPE_UUID = 4;
const int TYPE_MD5 = 5;
const int TYPE_ENCRYPTED = 6;
const int TYPE_COLUMN = 7;
const int TYPE_SENSITIVE = 8;
const int TYPE_VECTOR = 9;
const int TYPE_USER_DEFINED = 128;
/* Métodos */
final public function __construct(string `$data`, int `$type` = MongoDB\BSON\Binary::TYPE_GENERIC)
final public static function fromVector(array `$vector`, MongoDB\BSON\VectorType `$vectorType`): MongoDB\BSON\Binary
final public function getData(): string
final public function getType(): int
final public function getVectorType(): MongoDB\BSON\VectorType
final public function jsonSerialize(): mixed
final public function toArray(): array
final public function __toString(): string
}

## Constantes predefinidas

`MongoDB\BSON\Binary::TYPE_GENERIC`
  Dados binários genéricos.
`MongoDB\BSON\Binary::TYPE_FUNCTION`
  Função.
`MongoDB\BSON\Binary::TYPE_OLD_BINARY`
  Dados binários genéricos (preterido em favor de `MongoDB\BSON\Binary::TYPE_GENERIC`).
`MongoDB\BSON\Binary::TYPE_OLD_UUID`
  Identificador único universal (preterido em favor de `MongoDB\BSON\Binary::TYPE_UUID`). Ao usar este tipo, os dados binários precisam ter 16 bytes de comprimento. Historicamente, outros drivers codificaram valores com este tipo com base em suas convenções de linguagem (ex.: variações little endian / big endian), o que o torna não portável. A extensão PHP não aplica nenhuma manipulação especial para codificar ou decodificar dados com este tipo.
`MongoDB\BSON\Binary::TYPE_UUID`
  Identificador único universal. Ao usar este tipo, os dados do binário devem ter 16 bytes de comprimento e codificados de acordo com a » RFC 4122.
`MongoDB\BSON\Binary::TYPE_MD5`
  Hash MD5. Ao usar este tipo, os dados do binário devem ter 16 bytes de comprimento.
`MongoDB\BSON\Binary::TYPE_ENCRYPTED`
  Valor criptografado. Este subtipo é usado para criptografia do lado do cliente.
`MongoDB\BSON\Binary::TYPE_COLUMN`
  Dados da coluna. Este subtipo é usado para coleções de séries temporais.
`MongoDB\BSON\Binary::TYPE_SENSITIVE`
  Dados confidenciais. Este subtipo é usado para dados confidenciais que devem ser excluídos do registro do servidor quando possível.
`MongoDB\BSON\Binary::TYPE_VECTOR`
  Dados do vetor. Este subtipo é usado para armazenar dados de vetor de forma eficiente para uso nas pesquisas de vetor do MongoDB.
`MongoDB\BSON\Binary::TYPE_USER_DEFINED`
  Tipo definido pelo usuário. Enquanto os tipos entre 0 e 127 são predefinidos ou reservados, os tipos entre 128 e 255 são definidos pelo usuário e podem ser usados ​​para qualquer coisa.

## Registro de Alterações

Versão | Descrição
--- | ---
PECL mongodb 2.2.0 | Adicionada a constante `MongoDB\BSON\Binary::TYPE_VECTOR` e também as funções MongoDB\BSON\Binary::fromVector(), MongoDB\BSON\Binary::getVectorType() e MongoDB\BSON\Binary::toArray().
PECL mongodb 2.0.0 | Esta classe não implementa mais a interface Serializable.
PECL mongodb 1.17.0 | Adicionada a constante `MongoDB\BSON\Binary::TYPE_SENSITIVE`.
PECL mongodb 1.12.0 | Implementada a interface Stringable para PHP 8.0+. Adicionada a constante `MongoDB\BSON\Binary::TYPE_COLUMN`.
PECL mongodb 1.7.0 | Adicionada a constante `MongoDB\BSON\Binary::TYPE_ENCRYPTED`.
PECL mongodb 1.3.0 | Implementada a interface MongoDB\BSON\BinaryInterface.
PECL mongodb 1.2.0 | Implementadas as interfaces Serializable e JsonSerializable.

## Índice

- MongoDB\BSON\Binary::__construct — Constrói um novo Binary
- MongoDB\BSON\Binary::fromVector — Cria um novo binário com subtipo MongoDB\BSON\Binary::SUBTYPE_VECTOR a partir de um array e do tipo de vetor
- MongoDB\BSON\Binary::getData — Retorna os dados de Binary
- MongoDB\BSON\Binary::getType — Retorna o tipo de Binary
- MongoDB\BSON\Binary::getVectorType — Retorna o tipo de dados de um binário com o subtipo do vetor
- MongoDB\BSON\Binary::jsonSerialize — Retorna uma representação que pode ser convertida para JSON
- MongoDB\BSON\Binary::toArray — Retorna o vetor como um array para um binário com subtipo MongoDB\BSON\Binary::SUBTYPE_VECTOR
- MongoDB\BSON\Binary::__toString — Retorna string representando os dados de Binary

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open