Class: Base32

@nginstack/engine/lib/encoding/Base32~ Base32


new Base32()

Classe que permite a codificação e decodificação de conteúdos binários em Base32.

Não devem ser construídas instâncias da classe Base32, devendo ser utilizados os seus métodos de classe.

Members


<static, constant> BASE32 :string

Constante que indica que deve ser utilizado o formato de codificação base32 padrão, definido no RFC4648.

Type:
  • string

<static, constant> BASE32_DNSCURVE :string

Constante que indica que deve ser utilizada a variante do Base32 definida no protocolo DNSCurve.

Type:
  • string

<static, constant> BASE32_DNSSEC :string

Constante que indica que deve ser utilizada a variante do Base32 definida no RFC5155. Ela possui as seguintes características:

  • Usa o alfabeto hexadecimal estendido do base32hex.
  • Utilizada caixa baixa na codificação e não diferencia letras maiúsculas e minúsculas na decodificação.
  • Não utiliza padding.
Type:
  • string

<static, constant> BASE32_NOPAD :string

Constante que indica que deve utilizada a variação do base32 sem o uso de caracteres de padding ("="), definida no RFC4648.

Type:
  • string

<static, constant> BASE32HEX :string

Constante que indica que deve ser utilizada a variante base32hex, definida no RFC4648.

Type:
  • string

<static, constant> BASE32HEX_NOPAD :string

Constante que indica que deve ser utilizada a variante base32hex sem o uso de caracteres de padding ("="), definida no RFC4648.

Type:
  • string

Methods


<static> decode(str [, variant] [, resultType])

Decodifica uma string de dados que foi codificada anteriormente em Base32.

Parameters:
Name Type Argument Description
str string

String em Base32 a ser decodificada.

variant Base32Variant <optional>

Informa a variante do Base32 que foi utilizada na codificação dos dados. Os valores possíveis são: Base32.BASE32 ('base32'), Base32.BASE32_NOPAD ('base32_nopad'), Base32.BASE32HEX ('base32hex'), Base32.BASE32HEX_NOPAD ('base32hex_nopad'), Base32.BASE32_DNSSEC ('base32_dnssec') e Base32.BASE32_DNSCURVE ('base32_dnscurve'). Caso não seja informado, será utilizado o formato padrão 'base32'.

resultType string <optional>

O tipo do resultado gerado por esta função. Os valores possíveis são "uint8array", "arraybuffer" e "binarystring". Caso não seja informado, será retornada uma string no formato Binary String.

Returns:

Um binário codificado como string ou um ArrayBuffer.

Type
string | Uint8Array | ArrayBuffer
Example
const Base32 = require('@nginstack/engine/lib/encoding/Base32.js');
Base32.decode('MV4GC3LQNRSQ===='); // => 'example'

<static> decodeStream(input, output [, variant])

Lê um conteúdo Base32 de um stream e escreve como binário em outro stream. Faz a operação inversa do método encodeStream.

Parameters:
Name Type Argument Description
input File | MemoryStream

Conteúdo Base32 a ser decodificado.

output File | MemoryStream

Stream que recebe o conteúdo em formato binário.

variant Base32Variant <optional>

Informa a variante do Base32 que foi utilizada na codificação dos dados. Os valores possíveis são: Base32.BASE32 ('base32'), Base32.BASE32_NOPAD ('base32_nopad'), Base32.BASE32HEX ('base32hex'), Base32.BASE32HEX_NOPAD ('base32hex_nopad'), Base32.BASE32_DNSSEC ('base32_dnssec') e Base32.BASE32_DNSCURVE ('base32_dnscurve'). Caso não seja informado, será utilizado o formato padrão 'base32'.


<static> encode(bin [, variant])

Codifica um conteúdo binário em Base32.

Parameters:
Name Type Argument Description
bin string | ArrayBuffer | Uint8Array

Dados a serem codificados, podendo ser um binário codificado como string no formato Binary String.

variant Base32Variant <optional>

Informa a variante da codificação Base32 desejada. Os valores possíveis são: Base32.BASE32 ('base32'), Base32.BASE32_NOPAD ('base32_nopad'), Base32.BASE32HEX ('base32hex'), Base32.BASE32HEX_NOPAD ('base32hex_nopad'), Base32.BASE32_DNSSEC ('base32_dnssec') e Base32.BASE32_DNSCURVE ('base32_dnscurve'). Caso não seja informado, será utilizado o formato padrão 'base32'.

Returns:

String codificada em Base32.

Type
string
Example
const Base32 = require('@nginstack/engine/lib/encoding/Base32.js');
Base32.encode('example'); // => 'MV4GC3LQNRSQ===='

<static> encodeStream(input, output [, variant])

Lê um conteúdo binário de um stream e escreve como Base32 em outro stream. Faz a operação inversa do método decodeStream.

Parameters:
Name Type Argument Description
input File | MemoryStream

Conteúdo binário a ser codificado

output File | MemoryStream

Stream que recebe o conteúdo em formato Base85

variant Base32Variant <optional>

Informa a variante da codificação Base32 desejada. Os valores possíveis são: Base32.BASE32 ('base32'), Base32.BASE32_NOPAD ('base32_nopad'), Base32.BASE32HEX ('base32hex'), Base32.BASE32HEX_NOPAD ('base32hex_nopad'), Base32.BASE32_DNSSEC ('base32_dnssec') e Base32.BASE32_DNSCURVE ('base32_dnscurve'). Caso não seja informado, será utilizado o formato padrão 'base32'.