Class: Base85

@nginstack/engine/lib/encoding/Base85~ Base85


new Base85()

Classe que permite codificação e decodificação de conteúdo binário para a Base85. No formato Base85 são utilizados cinco caracteres para representar quatro bytes de dado binário, sendo assim mais compacto do que o formato Base64. Para uma melhor interoperabilidade com o Javascript e ao SQL, a implementação do Engine segue a especificação Z85, com uma extensão para o suporte ao uso de padding no conteúdo. Vale ressaltar que a especificação Z85 faz uso dos caracteres '<' e '>', sendo necessário que seu conteúdo seja escapado em linguagens SGML.

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

Members


<static, constant> ARRAY_BUFFER_DECODING

Constante para ser usada no parâmetro decodeFmt do método decode. Indica que o método decode deve retornar um objeto ArrayBuffer.


<static, constant> STRING_DECODING

Constante para ser usada no parâmetro decodeFmt do método decode. Indica que o método decode deve retornar uma String.


<static, constant> Z85

Constante para ser usada no parâmetro encoding. Indica que deve ser usado a codificação Z85. É o único formato de encoding Base85 suportado atualmente.

Methods


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

Decodifica uma string em Base85 para um binário codificado como string, ou um ArrayBuffer.

Parameters:
Name Type Argument Description
str string

String em Base85 a ser decodificada.

encoding string <optional>

Formato de codificação Base85, sendo Base85.Z85 o valor default do parâmetro.

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", onde cada caractere da string representa um byte do conteúdo binário. Para fins de compatibilidade, este parâmetro também aceita os valores Base85.STRING_DECODING e Base85.ARRAY_BUFFER_DECODING.

Returns:

Um binário codificado como string ou um ArrayBuffer.

Type
string | ArrayBuffer

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

Lê um conteúdo Base85 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 Base85 a ser decodificado

output File | MemoryStream

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

encoding string <optional>

Formato de codificação Base85, sendo Base85.Z85 o valor default do parâmetro.


<static> encode(bin [, encoding] [, noPadding])

Codifica um conteúdo binário para a Base85.

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

Dados a serem codificados, podendo ser um binário codificado como string.

encoding string <optional>

Formato de codificação Base85. Somente é suportado o formato Z85 atualmente, sendo Base85.Z85 o valor default do parâmetro.

noPadding boolean <optional>

Indica que não deve ser feito o padding do conteúdo caso seja necessário, sendo false o valor padrão. Um erro será lançado caso seja informado true e se o conteúdo não for de um tamanho múltiplo de quatro.

Returns:

String codificada em Base85.

Type
string

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

Lê um conteúdo binário de um stream e escreve como Base85 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

encoding string <optional>

Formato de codificação Base85, sendo Base85.Z85 o valor default do parâmetro.