Module: Braintrust::Internal::Encoding::Base64

Defined in:
lib/braintrust/internal/encoding.rb

Overview

Base64 encoding/decoding using Ruby’s native pack/unpack methods. Drop-in replacement for the base64 gem’s strict methods.

Examples:

Encode binary data

Encoding::Base64.strict_encode64(image_bytes)
# => "iVBORw0KGgo..."

Decode base64 string

Encoding::Base64.strict_decode64("iVBORw0KGgo...")
# => "\x89PNG..."

Class Method Summary collapse

Class Method Details

.strict_decode64(str) ⇒ String

Decodes a base64 string to binary data (strict decoding).

Parameters:

  • str (String)

    Base64-encoded string

Returns:

  • (String)

    Decoded binary data



34
35
36
# File 'lib/braintrust/internal/encoding.rb', line 34

def strict_decode64(str)
  str.unpack1("m0")
end

.strict_encode64(data) ⇒ String

Encodes binary data to base64 without newlines (strict encoding).

Parameters:

  • data (String)

    Binary data to encode

Returns:

  • (String)

    Base64-encoded string without newlines



26
27
28
# File 'lib/braintrust/internal/encoding.rb', line 26

def strict_encode64(data)
  [data].pack("m0")
end