Sto provando ad inviare una serie di byte binari attraverso un socket, per soddisfare uno standard particolare che la mia azienda utilizza. Nessuno nella mia azienda ha mai usato Ruby per questo, ma in altre lingue, inviano i dati attraverso un byte alla volta (di solito con una sorta di metodo "pack").Come fa Ruby a gestire i byte/binari?
Non riesco a trovare comunque la possibilità di creare binari al volo, o di creare dei byte (il più vicino lo posso trovare come si può trasformare una stringa in byte che rappresentano i suoi caratteri).
So che si può dire qualcosa di simile:
@var = 0b101010101
Ma come avrei convertire una stringa nella forma "101.010.101" o il numero intero risultante creato quando faccio string.to_i (2) in un vero binario. Se mando semplicemente la stringa su un socket, non manderò semplicemente ASCII per "0" e "1" invece dei caratteri letterali?
Sicuramente c'è qualche modo per farlo in modo nativo in Ruby?
Perché ci sono alcuni "/" in binary_string? – why
È possibile che una stringa binaria abbia un byte con valore 0x2F (47). Questa è la codifica ASCII di "/", quindi se tu "ispeziona" la stringa, Ruby di solito stampa un "/". La stessa cosa vale per qualsiasi carattere ASCII. Ruby in realtà non sa se la tua stringa è una "stringa binaria", per Ruby la tua stringa è fondamentalmente una sequenza di byte (tranne che nella versione 1.9 aggiungono alcune informazioni di codifica). –
Grazie! mi aiuta molto – why