Arduino<->Android Kommunikation via RedFly Wifishield(Problem der Datengroesse)

char buffer[25];
sprintf(buffer,"%d",1024);
socketSend(socket,buffer,ip,port);

klappt soweit erstmal, danke.
habs erstmal am serial monitor wieder ausgegeben. aber im speicher an der addresse von buffer[8] z.B: steht noch quatsch der da garnicht hingehoert. Also dachte ich mir ich änder es zu folgendem ab.

int bla = 1024;
char buffer[sizeof(bla)];         
sprintf(buffer,"%d",bla);
Serial.println("");
for(int i = 0; i < sizeof(bla); i++)
{
    Serial.print(buffer[i]);
}
Serial.println("");

die Ausgabe lautet jetzt 10 es fehlen also 24

was kann ich dagegen tun? ich will das der buffer immer nur genauso viele stellen hat wie die eigentliche zahl, so könnte ich ja dann auch beliebige strings in ein chararray packen.

die andere Methode habe ich auch probiert, klappt leider nicht.

int value = 1024;
RedFly.socketSend(hUDP,&value,sizeof(value),ip,UDP_PORT);

ARDUINO_TO_ANDROID_gekuerzt.ino: In function 'void loop()':
ARDUINO_TO_ANDROID_gekuerzt:179: error: no matching function for call to 'REDFLY::socketSend(uint8_t&, int*, unsigned int, uint8_t [4], int)'
C:...\arduino-1.0.2\libraries\RedFly/RedFly.h:120: note: candidates are: uint8_t REDFLY::socketSend(uint8_t, uint8_t*, uint16_t, uint8_t*, uint16_t)
C:...\arduino-1.0.2\libraries\RedFly/RedFly.h:121: note: uint8_t REDFLY::socketSend(uint8_t, char*, uint8_t*, uint16_t)
C:...\arduino-1.0.2\libraries\RedFly/RedFly.h:123: note: uint8_t REDFLY::socketSend(uint8_t, uint8_t*, uint16_t)
C:...\arduino-1.0.2\libraries\RedFly/RedFly.h:124: note: uint8_t REDFLY::socketSend(uint8_t, char*)
C:...\arduino-1.0.2\libraries\RedFly/RedFly.h:126: note: uint8_t REDFLY::socketSend(uint8_t, int)