Tengo un programa erlang que genera datos. Esta información debe transferirse a través de udp a un programa que no sea Erlang para su posterior procesamiento. Ya tengo esta parte funcionando, enviando los datos a través de udp y recibiéndolos en el otro lado que no es erlang.Convertir términos de erlang a cadena o decodificar erlang binario
Aquí está el problema. Los datos (términos erlang como tuplas que contienen listas) no parecen poder repasar "tal cual" (es decir, no puedo enviar términos de erlang arbitrarios). Al parecer, debe convertirse primero en texto o binario. La conversión a binario parece bastante fácil con un bif que encontré. El problema es que el binary gobbledygook sale del otro lado, y no conozco ninguna forma fácil de decodificarlo (el otro lado no es erlang).
A menos que alguien me diga alguna manera fácil de decodificar gobbledygook binario en el otro lado, me gustaría que los datos que deben enviarse como una representación simplista de cadena de los términos - por ejemplo una tupla como esto:
{[1,2,3],[4,5,6]}
envió la siguiente manera:
"{[1,2,3],[4,5,6]}"
no he visto ninguna tales BIF, es decir, "convert_term_to_ascii/1", etc. sé que podría escanear y enviar representaciones simbólicas de los términos, pero no quiero hacer eso - descifrar eso del otro lado es solo un dolor que no quiero tratar con.
Sé que no soy la primera, segunda o tercera persona que tiene este problema. Tiene que ser bastante común. ¿Cómo se trata normalmente?
¿Alguien me puede indicar algún recurso que me muestre cómo 1) convertir el binario gobbledygook en ascii (necesario en el lado no erlang), o 2) convertir términos directamente en una cadena (necesaria en el lado erlang)?
O, dime cómo me equivoco y cómo debería estar realmente haciendo esto?
Gracias.
Acabo de encontrar un problema relacionado, convertir un binario o una cadena del formulario que sería una entrada válida para el archivo: consulte/1 en términos de Erlang, pero no a partir de un archivo. Decidí documentar la solución para mi yo futuro, tal vez otros lo encuentren útil: http://zxq9.com/archives/1354 – zxq9