(Pour la raison de la raison, l'explication n'est pas suffisamment détaillée et scientifique, veuillez ne pas critiquer si vous ne l'aimez pas).
Je vois souvent différentes définitions des tableaux d'octets en Java, donc je les réglerai:
Un octet = 8 bits, et tout "tableau d'octets" est "octet", c'est-à-dire que chaque octet peut être représenté en binaire, hexadécimal et décimal.
Binaire: 00010110 ------> 0 * 2 ^ 8 + 0 * 2 ^ 7 + 0 * 2 ^ 6 + 1 * 2 ^ 5 + 0 * 2 ^ 4 + 1 * 2 ^ 3 + 1 * 2 ^ 2 + 0 * 2 ^ 1 + 0 * 2 ^ 0 = 22
Hexadécimal: 0x16 -------> 1 * 16 ^ 1 + 6 * 16 ^ 0 = 22
Décimal: 22
Les trois suivants sont donc équivalents:
octet [] aa = {00010110, 01010010, 10111000};
octet [] aa = {0x16, 0x52, 0xb8};
octet [] aa = {22, 82, 184};
Lors du débogage des points d'arrêt de l'éclipse, le contenu des tableaux d'octets que vous voyez est exprimé en décimal. Parfois, vous voyez des nombres négatifs car les nombres de plus de 127 dans le tableau d'octets seront affichés comme des nombres négatifs.
Nous savons que Java lit uniquement les tableaux d'octets de support, tandis que l'octet est de 8 bits, il ne peut donc pas dépasser 127. S'il dépasse, il débordera et sera affiché sous la forme d'un nombre négatif.
L'article ci-dessus parle brièvement des différentes méthodes d'écriture du tableau d'octets de Java est tout le contenu que je partage avec vous. J'espère que vous pourrez vous faire référence et j'espère que vous pourrez soutenir Wulin.com plus.