Ho un programma di erlang che genera dati. Questi dati devono essere trasferiti tramite udp a un programma non-erlang per ulteriori elaborazioni. Ho già questa parte di lavoro - l'invio dei dati tramite udp e la ricezione sull'altro lato non-erlang.Converti i termini di erlang in stringa, o decodifica il binario di erlang
Ecco il problema. I dati (termini di erlang come tuple che contengono liste) non sembrano in grado di andare "così com'è" (cioè non posso semplicemente inviare termini arbitrari di erlang). Apparentemente ha bisogno di essere convertito prima in testo o in binario. La conversione in binario sembra abbastanza semplice con un bif che ho trovato. Il problema è che il gobbledygook binario esce dall'altra parte e non conosco un modo semplice per decodificarlo (l'altro lato è non-erlang).
Blocco qualcuno mi dice qualche modo semplice per decodificare gobbledygook binario dall'altra parte, vorrei i dati da inviare come una rappresentazione semplicistica serie di termini - ad esempio, una tupla come questo:
{[1,2,3],[4,5,6]}
inviato in questo modo:
"{[1,2,3],[4,5,6]}"
non ho visto una tale BIF, vale a dire "convert_term_to_ascii/1", ecc so che avrei potuto eseguire la scansione e inviare rappresentazioni simboliche dei termini, ma non voglio per farlo, decifrare che dall'altra parte è solo un dolore che non voglio trattare con.
So che non sono la prima, seconda o terza persona ad avere questo problema. Deve essere abbastanza comune. Come viene normalmente trattato?
Qualcuno può indicarmi qualche risorsa indicandomi come 1) convertire il gobbledygook binario in ascii (necessario sul lato non-erlang), o 2) convertire i termini in una stringa (necessaria sul lato erlang)?
Oppure, dimmi come mi sbaglio e come dovrei farlo davvero?
Grazie.
Si è appena verificato un problema correlato, convertendo un binario o una stringa del modulo che sarebbe stato un input valido per il file: consultare/1 in termini Erlang, ma non partire da un file. Ho deciso di documentare la soluzione per il mio futuro io, forse altri lo troveranno utile: http://zxq9.com/archives/1354 – zxq9