Непонятно, о чем вы спрашиваете. Обратите внимание, что функция proto Marshal () делает именно то, что вам нужно: она сериализует сообщение в байтовый фрагмент (что вы, вероятно, подразумеваете под байтовым массивом)
Посмотрите, поможет ли один из этих способов:
[ 110]или
func(api *API) Send(m *proto.Message) error {
buffer := api.packet[:length]
buffer, err := proto.Marshal(m)
if err != nil {
return err
}
_, err := api.conn.Write(buffer)
if err != nil {
return err
}
return nil
}
Только для IPv4, но класса SubnetUtils часть Сети палаты общин, имеет функциональность, которую Вы ищете. На основе этого Вы могли кодировать версию IPv6 и внести ее назад в проект!:)
Класс InetAddress и связанные подклассы, были бы очень хорошим местом для запуска: http://java.sun.com/j2se/1.4.2/docs/api/java/net/InetAddress.html