2010-02-27 10 views
6

En Java, je ne peux pas prendre un tableau d'octets d'octets non signés (à partir de quelque chose comme Wire Shark) et le mettre en java .... Parce que j'obtiendrai des erreurs de compilation puisque toute valeur supérieure à 127 décimales/0x07F est traité non pas comme un octet, mais comme un int .... IE:Java: Comment utiliser les littéraux d'octets supérieurs à 0x7F

 byte[] protocol = { 0x04, 0x01, 0x00, 0x50, /*error*/0xc1, /*error*/0xdb, 0x1c, /*error*/0x8c, 
       0x4d, 0x4f, 0x5a, 0x00 }; 

Besoin d'une bonne façon de gérer la prise des tableaux unsigned char et les mettre en Java comme littéraux.

Répondre

6

Lancez-les sur (octet).

+2

Heh, il est tard. Pour une raison ou pour une autre, j'étais venu les jeter d'abord à (char), puis à (octet). Aussi, remarquable pour les non-java'ers: char est un mot Unicode 16 bits en Java. – Zombies

+0

C'est drôle les chemins que l'esprit privé de sommeil va nous descendre. :) – PSpeed