
Converter em binário
#1
Mensagem publicada 10 December 2010 - 18:35
#2
Mensagem publicada 10 December 2010 - 19:41
#3
Mensagem publicada 13 December 2010 - 11:02
#4
Mensagem publicada 13 December 2010 - 14:40
#5
Mensagem publicada 30 December 2010 - 02:54
DatagramSocket theSocket = new DatagramSocket();byte[] buf = (tuiostack).getBytes();DatagramPacket packet = new DatagramPacket(buf, buf.length, serverAddr, port);theSocket.send(packet);Resultado na consola vejo o resultado em plain text e nada encoded, byte[] buf = (tuiostack).getBytes(); não é suposto aqui acontecer algum tipo de encode?Experimentei depois com a dica do maxado usando o ByteBuffer que resultou numa coisa do género:
DatagramChannel channel = DatagramChannel.open();ByteBuffer buffer = ByteBuffer.wrap("test string".getBytes());channel.send(buffer, new InetSocketAddress("192.168.1.95", 3000));O resultado é exactamente o mesmo recebo os dados em plain text.Provavelmente não me expliquei bem e francamente acho que não me consigo explicar melhor, noobice e provavelmente areia de mais para o meu camião :SJunto vai um screenshot de como queria que os dados fossem enviados uma vez que são chars especiais e não dão para colar aqui.[attachment=1516]binary.png[/attachment]
#6
Mensagem publicada 30 December 2010 - 11:18
#7
Mensagem publicada 30 December 2010 - 19:54
#8
Mensagem publicada 30 December 2010 - 20:53
Ainda não percebi exactamente o que queres. Queres que um 'A' apareça como 01000001 ou como uma caracter esquisito?!Gracias pedronveloso esses caracteres estranhos são exactamente o que queria conseguir e não consigo, sempre que imprimo para o ecrã com qualquer uma das técnicas que mencionei acima ... é sempre impresso como plain text.Estou me a basear no protocolo OSC http://opensoundcont...rg/spec-1_0Aqui é dito:"An OSC packet consists of its contents, a contiguous block of binary data, and its size, the number of 8-bit bytes that comprise the contents. The size of an OSC packet is always a multiple of 4."A minha questão (e acho que cada vez estou a ficar mais confuso) é, como forço eu a impressão de uma qq string, int ou float encoded em binario?
#9
Mensagem publicada 30 December 2010 - 20:55

#10
Mensagem publicada 30 December 2010 - 21:07
Nunca o vais conseguir... um 'A' é sempre um 'A'... por mais formas que dês, a não ser que o transformes noutra coisa ele vai ser sempre um 'A', é a representação ASCII do decimal 65. a não ser que convertas um 65 num caracter "não representavel" ele vai-te sempre aparecer assim escrito.Quero que apareça como um caracter esquisito como o da imagem
[attachment=1516]binary.png[/attachment]
#11
Mensagem publicada 31 December 2010 - 02:15