fermo restando che puoi inserire più valori con questi due metodi:

- valore da "parsare" in maniera personalizzata (es.: "uomo,30" usando la virgola come separatore)
- valore serializzato come dicevi e "base64" encodato, da passare poi al processo inverso

...c'è da considerare se non è meglio rivedere il "progetto" della pagina: se puoi inserire i dati in campi "nascosti" come dici magari puoi elaborarli anche dopo.

Al limite una terza soluzione può essere di creare tanti campi nascosti con i vari dati da passare e nel checkbox metti come "value" solo l'indice dei campi nascosti da considerare... p.es. i vari checkbox contengono i numeri 1, 2, 3, etc... e i campi nascosti potrebbero avere nomi:

camponascosto[1][nome]
camponascosto[1][eta]
...
camponascosto[2][nome]
camponascosto[2][eta]
...
etc.etc.