Javaでは、バイトの16進文字列表現(「1e」など)をバイト値に変換するにはどうすればよいですか?
例えば:
byte b = ConvertHexStringToByte("1e");
Javaでは、バイトの16進文字列表現(「1e」など)をバイト値に変換するにはどうすればよいですか?
例えば:
byte b = ConvertHexStringToByte("1e");
使用できますByte.parseByte("a", 16);
が、これは 127 までの値に対してのみ機能します。それよりも大きい値は、符号付き/符号なしの問題により、バイトにキャストする必要があるため、int に転送してからバイトにキャストすることをお勧めします。
(byte) (Integer.parseInt("ef",16) & 0xff);
Integer.parseInt(str, 16);
Byte.parseByte
byte
文字列表現を解析して aを返します。
署名付きのメソッドを使用すると(String, int)
、基数を 16 として指定できるため、バイトの 16 進数表現を解析できます。
Byte.parseByte("1e", 16);