私の問題はこのようなものです。Javaのバイト値をマスクする方法は?
私はJavaでバイト単位で計算しています。いくつかの計算では、私はバイト値で "2a"の私の希望結果を得るが、私はバイト値で "ffffff9a"を得るいくつかの計算で。私は結果 "ffffff9a"から "9a"の値を入れたいだけです。私はこれを試みたが、うまくいかなかった。
byte a = (byte) b & 0xff;
ここで、bは値 "ffffff9a"バイト値です。
しかし、同じプロセスを表示すること
私が間違っているつもりですSystem.out.println(Integer.toHexString(b & 0xff));
のように動作している間?私の希望する価値を得るために何ができますか?
おかげ
は、実際に私は、GSM 7ビットに8ビット文字を変換しようとしています。また、誰かがこれを手伝ってくれれば、それも助けになるだろう。文字列はバイト配列として格納され、この文字列または8ビットバイトを7ビットに変換する必要があります。
コードは正しく表示されますが、正しくテストしていますか?たぶん全体のルーチンを表示する?また、 'b'はバイト型ですか? – fileoffset
System.out.println(Integer.toHexString(0xffffff9a&0xff)); '9a' http:// ideoneを出力します。com/ikxuO –
はいbはタイプバイトで、印刷は問題ありません。変数に値を格納したいところです。問題は – bunkdeath