2012-05-12 9 views
0

私のTextViewを設定した場合、次のようにバイト:のTextView ::のgetText()が返し-3見えない文字を

byte[] byteArray = { 25, 20, -101 }; 
TextView encrypted_text = (TextView) findViewById(R.id.encrypted); 
encrypted_text.setText(new String(byteArray)); 

、私はバック25、20、はなく-101値を取得することができます。私は常に取得-3出力として3文字目の場合 :

Log.v(TAG, "3rd byte: "+ (byte) encrypted_text.getText().toString().charAt(2)); 

P.S.実際には、表示されないすべての文字に対して-3が返されます。

私のbyteArrayをTextViewから戻すにはどうしたらいいですか?

答えて

2

TextViewとの間で負のバイト値を戻したり戻したりする方法を知りました。 まず、符号付きバイトを符号なしバイトに変換する必要があります。 Javaではすべての型が署名されているため、手動で行う必要があります。

// remove signed bit(32nd), keep value as "next" (127+...) positive byte value 
int unsignedValue = 255 - ((int)byteArray[i])&0b1111111; 
関連する問題