Comment puis-je inverser des bits d'un octet non signé en Java?

Je suis en train d'écrire un décodeur pour un type très simple de chiffrement. Les nombres de 0 à 255 sont entrés via un Scanner, les bits sont inversés, et puis converti en caractère et de l'imprimé.

Par exemple, le nombre de 178 devraient se convertir à la lettre "M".

178 est 10110010.

En inversant tous les bits devrait donner 01001101, qui est de 77 ou "M" comme un caractère.

Le principal problème que j'ai c'est que, aussi loin que je peux dire, Java ne supporte pas d'octets non signés. J'ai pu lire des valeurs comme un int ou un court, mais alors les valeurs doivent être hors tension lors de la conversion en raison de l'extra. Idéalement, je pouvais au niveau du bit opérateur de complément, mais je pense que je vais finir par avoir des valeurs négatives si je fais cela avec des nombres signés. Des idées sur comment je dois aborder cette?

source d'informationauteur DavidKelly999