2017-10-19 5 views
3

AndroidでUTF-8に質問がありました。 UTF-8形式の文字列をByte []に​​格納する必要があります。AndroidのUTF-8とUTF-8の定義との比較

これまでのところとても良いです。 1

それが必要:私は例の番号を入力すると、今

idString = editId.getText().toString(); 
byte[] valueId = idString.getBytes(Charset.forName("UTF-8")); 

:ここでのEditTextにユーザタイプが、これはUTF-8形式でのバイト[]に格納されなければならない私のコードですUTF-8単位として格納さ:31

それは小数点値として格納さ:49

私は私の失敗があるので、誰もが私を助けることができるどのような接着剤を得るいけませんか?

ありがとうございました

答えて

2

問題は16進数と10進値です。これは、ASCIIテーブルとして知られている形式で格納されます。番号1は、これはあなたがhttp://www.asciitable.com/

+0

うんビットを助けたことありがとう役立つかもしれない小数点以下49または六角31

として格納されています。だから、デバッグに私の配列に0x31として格納されていることが示されたら正しいですか?ビット0011 0001? – Fab

+1

はい、0x表記は、それが整数値ではなく16進値であることを示します。オンラインの16進数から整数への変換ツール(http://www.binaryhexconverter.com/hex-to-decimal-converter)を使用するか、デバッグモードで値を直接表示することができます。https://stackoverflow.com/questions/17447013/android-studio-debug-display-variables-as-hexadecimal –

+0

ありがとう、私はちょうどデバッグウィンドウのために混乱してしまった。 – Fab