Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

191
Views
La imagen de decodificación de Python generada por Node.js da `TypeError: memoryview: se requiere un objeto similar a bytes, no 'str'`

Estoy tratando de decodificar y guardar un archivo de imagen pasado a un script de python.

El archivo de imagen es leído por un script Node.JS index.js y sus datos pasan como image dentro de una cadena JSON {"image":readImageFile(), "name":"image.png"} .

La cadena JSON es recibida por un script de Python generado script.py .

El problema es que cuando trato de decodificar los datos de la imagen, aparece el error TypeError: memoryview: a bytes-like object is required, not 'str' .

Intenté convertir los datos de la imagen a bytes como base64.decodebytes(bytes(params['image'],'utf-8')) pero obtuve el error UnicodeEncodeError: 'utf-8' codec can't encode character '\udc8f' in position 66: surrogates not allowed .

¿Cómo decodifico correctamente los datos binarios de la imagen para poder guardarlos como un archivo?

¿Podría ayudarme a detectar el problema?

¡Gracias por adelantado!

guión.py:

 import sys, json import base64 json_str = input() # Capture input params = json.loads(json_str) # parse input fileName = params['name'] # Capture file name fileData = base64.decodebytes(params['image']) # decode image ... ... print("Image Saved!") sys.stdout.flush()

índice.js:

 const spawn = require("child_process").spawn; const fs = require('fs'); let params = { "image":readImageFile(), "name":"image.png" } const pyProcess = spawn('py',['script.py']); pyProcess.stdin.write(JSON.stringify(params) + '\n'); pyProcess.stdout.on("data", (data) =>{ console.log(data.toString()); }); function readImageFile() { try { return fs.readFileSync('color.png', 'binary'); } catch (err) { return err; } }
about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!