Codifica Base64

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Quando trasmetti video all'API Video Intelligence, puoi trasmettere un URI Cloud Storage oppure incorporare i dati video direttamente nel campo content della richiesta, che deve essere codificato in Base64.

Utilizzo della riga di comando

All'interno di una richiesta gRPC, puoi semplicemente scrivere dati binari direttamente; tuttavia, JSON viene utilizzato per effettuare una richiesta REST. JSON è un formato di testo che non supporta direttamente i dati binari, pertanto dovrai convertirli in testo utilizzando la codifica Base64.

La maggior parte degli ambienti di sviluppo contiene un'utilità base64 nativa per codificare un programma binario nei dati di testo ASCII. Per codificare un file:

Linux

Codifica il file utilizzando lo strumento a riga di comando base64, assicurandoti di impedire il wrapping di righe utilizzando il flag -w 0:

base64 INPUT_FILE -w 0 > OUTPUT_FILE

macOS

Codifica il file utilizzando lo strumento a riga di comando base64:

base64 -i INPUT_FILE -o OUTPUT_FILE

Windows

Codifica il file utilizzando lo strumento Base64.exe:

certutil -encodehex SOURCE_VIDEO_FILE > DEST_TEXT_FILE 0x40000001

PowerShell

Codifica il file utilizzando il metodo Convert.ToBase64String:

[Convert]::ToBase64String([IO.File]::ReadAllBytes("./INPUT_FILE")) > OUTPUT_FILE

Crea un file di richiesta JSON che incorpora i dati con codifica base64:

JSON

{
  "requests":[
    {
      "image":{
        "content": "ZkxhQwAAACIQABAAAAUJABtAA+gA8AB+W8FZndQvQAyjv..."
      },
      "features": [
        {
          "type":"LABEL_DETECTION",
          "maxResults":1
        }
      ]
    }
  ]
}

Utilizzo delle librerie client

L'incorporamento di dati binari nelle richieste tramite editor di testo non è né fattibile né pratico. In pratica, includerai file con codifica Base64 nel codice client. Tutti i linguaggi di programmazione supportati dispongono di meccanismi integrati per i contenuti di codifica base64.

Python

In Python, base64 codifica i file video come segue:

# Import the base64 encoding library.
import base64

# Pass the video data to an encoding function.
def encode_video(video):
  video_content = video.read()
  return base64.b64encode(video_content)

Node.js

In Node.js, base64 codifica i file video come segue:

// Read the file into memory.
var fs = require('fs');
var videoFile = fs.readFileSync('/path/to/file');

// Convert the video data to a Buffer and base64 encode it.
var encoded = new Buffer(videoFile).toString('base64');

Java

In Java, puoi codificare i file immagine in Base64 nel seguente modo:

// Import the Base64 encoding library.
import org.apache.commons.codec.binary.Base64;

// Encode the video.
byte[] videoData = Base64.encodeBase64(videoFile.getBytes());