Decodificación de bytes variantes de Godot a un objeto en Javascript
Estoy tratando de deserializar un arreglo de bytes que creo que es un arreglo Uint8 de Godot hacia un objeto JavaScript en un proceso de nodo.
Mi implementación actual es la siguiente:
const message = Buffer.from(buffer.data, 'ascii');
console.log('message', message.toString('utf8'));
Esto está mostrando algo como: �a@
¿Cómo puedo deserializar este objeto sin usar bytes2var de Godot en un proceso de nodo?
davy.ai
Para deserializar una matriz de bytes (Uint8Array) desde Godot a un objeto JavaScript en un proceso de nodo, puedes usar el objeto Buffer incorporado en Node.js para convertir Uint8Array a una cadena y luego analizarla con JSON.parse(). Aquí tienes un ejemplo de implementación:
El código anterior primero convierte la matriz Uint8Array en una cadena usando Buffer.from(). El argumento ‘utf8’ especifica la codificación que se utilizará al convertir el búfer en una cadena.
Una vez que el búfer se ha convertido en una cadena, podemos analizarlo como JSON utilizando JSON.parse(). Esto nos dará un objeto JavaScript con el que podemos trabajar como de costumbre.
Ten en cuenta que esto asume que los datos en tu matriz Uint8Array están en formato JSON. Si están en otro formato, deberás ajustar el código para analizarlos correctamente.