Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

262
Vistas
Obtener un valor anterior de 32 bits de la entrada estándar en Java

Estoy tratando de leer un stdin de una aplicación WebExtentions. La documentación dice:

Cada mensaje se serializa mediante JSON, codificación UTF-8 y va precedido de un valor de 32 bits que contiene la longitud del mensaje en el orden de bytes nativo.

https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Native_messaging

Tienen un ejemplo en Python para leer el mensaje enviado:

 rawLength = sys.stdin.read(4) if len(rawLength) == 0: sys.exit(0) messageLength = struct.unpack('@I', rawLength)[0] message = sys.stdin.read(messageLength) return json.loads(message)

Entonces elimina el número de 32 bits del mensaje y luego recibe el mensaje. ¿Cómo puedo hacer lo mismo en Java?

Editar alguien me pidió que intentara una traducción. Tenga en cuenta que sé poco.

 System.in.skip(4); // 4 bytes is 32 bits Scanner sc = new Scanner(System.in); String message = sc.next();

Y no elimina los 4 cuatro bytes del mensaje. Mi única otra solución es encontrar el último símbolo { en el mensaje (ya que es un objeto JSON con solo una clave: par de valores) y tomar la subcadena después de eso.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Para leer los primeros 4 bytes del estándar como un int de 32 bits, haga lo siguiente:

 DataInputStream data = new DataInputStream(System.in); int length = data.readInt();
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda