unsigned char* or char*



  • Wenn ich Daten übers Netwerk senden will, sollte ich unsigned char* oder doch lieber char* verwenden?

    Sehe bei den ganzen Manuals immer nur unsigned char* und da habe ich mich gefragt, ob es da einen bestimmten Grund dafür gäbe.

    Danke!



  • Es kommt nicht darauf an. Nimm das was deine Socket API braucht. Konvertieren (=Serialisieren) musst Du sowiso auf irgendeine Art.



  • theta schrieb:

    Es kommt nicht darauf an. Nimm das was deine Socket API braucht. Konvertieren (=Serialisieren) musst Du sowiso auf irgendeine Art.

    Danke!
    Wenn wir schon dabei sind: Wann muss ich serialisieren?

    Wenn ich beispielsweise eine Struktur habe:

    struct {
      char
      char 
      int : 2
      char*
    }
    

    Müsste ich doch nur bei dem "int : 2" und "char*" serialisieren, richtig?



  • Als Grund für unsigned char * fällt mir ein, dass char je nach Implementierung entweder signed oder unsigned ist - und du nicht weißt, welche Implementierung auf der anderen Seite des Netzwerks sitzt. In der Praxis sollte die Repräsentation mit oder ohne signed vermutlich oft gleich sein, aber Sicher ist Sicher.


Anmelden zum Antworten