私はJavaでプログラミングしています。プログラムには、以下のような文字列があります。
String str = "byte."
上記の文字列を以下のように 16 進バイトの配列に変換できますか?
byte[] data = {0x62, 0x79, 0x74, 0x65};
ありがとうございました。
私はJavaでプログラミングしています。プログラムには、以下のような文字列があります。
String str = "byte."
上記の文字列を以下のように 16 進バイトの配列に変換できますか?
byte[] data = {0x62, 0x79, 0x74, 0x65};
ありがとうございました。
「16進バイト」というものはなく、「10進整数」と「16進整数」以上のものはありません。
ただし、文字列をバイト配列に変換することはできます。例えば:
byte[] data = str.getBytes("UTF-8");
ここのUTF-8
部分は、使用するエンコーディングの名前です。エンコーディングは事実上、Unicode 文字とバイト間のマッピングです。(それよりもやや複雑ですが、最初の概算としては適切です。)
のパラメーターなしのオーバーロードがありますが、使用しないことをString.getBytes()
強くお勧めします。これは、プラットフォームの既定のエンコーディングを選択するため、めったに良い考えではありません。
を取得するオーバーロードを使用することもできます。これは、次のように記述できるGuavaCharset
などのライブラリと組み合わせて使用 することでより適切になります。
byte[] data = str.getBytes(Charsets.UTF_8);
...そのため、文字列表現に依存しなくなりました。