@Published public final class BinaryUtil extends java.lang.Object
Modifier and Type | Method and Description |
---|---|
static byte[] |
convertHexToBytes(java.lang.String hexString)
16進数文字列をバイト列に変換する。
引数の文字列が以下の条件に当てはまる場合
NumberFormatException を送出する。
文字列がnullや空文字である場合
([0-9A-F]+)に当てはまらない場合
16進数文字列であるが、先頭が"0x"で開始している場合。
"0x"で開始する16進数文字列を変換する場合はconvertToBytes(String, Charset) を利用すること。
|
static byte[] |
convertToBytes(java.lang.String original,
java.nio.charset.Charset encoding)
引数で与えられた文字列をバイト列に変換する。
引数で与えられた文字列がnullか空の場合は、長さ0のバイト列を返却する。
引数が16進数として解釈可能な場合((0x[0-9A-F]+)に適合する場合)は以下の処理を行う。
16進数をビット列と見なし、バイト列に変換して返却する。
16進数文字列として成立していない場合(original.matches("0x[0-9A-F].")が成立しない場合)
NumberFormatExceptionを送出する。具体例を以下に示す。
"0x"のみの文字列
"0xあああ"
引数が16進数として解釈できない場合は以下の処理を行う。
文字列全体を引数で指定した文字セットでエンコーディングし、バイト列に変換して返却する
|
static byte[] |
convertToBytes(java.lang.String original,
int length,
java.nio.charset.Charset encoding)
引数で与えられた文字列をバイト列に変換し、引数のバイト長に満たない場合、右側0x00埋めを行う。
引数が16進数文字列である場合は、16進数をビット列と見なしバイト列に変換して返却する。
変換処理の仕様は
convertToBytes(String, Charset) を参照すること。
|
static java.lang.String |
convertToHexString(byte[] bytes)
バイト配列を16進数文字列に変換する。
引数がnullや空文字である場合の挙動は以下となる。
引数で与えられたバイト列がnullである場合は、"null"という文字列を返却する
引数で与えられたバイト列の長さが0である場合は、空文字を返却する
|
static java.lang.String |
convertToHexStringWithPrefix(byte[] bytes)
バイト配列を16進数文字列に変換する。
変換後の文字列には"0x"が先頭に付加される。
引数で与えられたバイト列がnullであるか長さが0である場合、空文字を返却する。
|
static byte[] |
fillZerosRight(byte[] orig,
int length)
右側0詰めを行う。
ただし、以下の場合は0詰めを行わない。 元データ(orig)が0バイトの場合は、0バイトのバイト配列が返却される。 元データ(orig)の要素数が、バイト長(length)以上の場合、元データがそのまま返却される。 |
static byte[] |
toByteArray(java.io.InputStream inputStream)
入力ストリームをバイト配列に変換する。
引数であたえられた入力ストリームはクローズされる。 |
public static byte[] convertToBytes(java.lang.String original, int length, java.nio.charset.Charset encoding)
convertToBytes(String, Charset)
を参照すること。
original
- 文字列length
- バイト長encoding
- 文字エンコーディング(引数が16進数文字列である場合は使用されない)java.lang.NumberFormatException
- 引数が"0x"から開始しており、かつ16進数文字列として成立していない場合public static java.lang.String convertToHexString(byte[] bytes)
bytes
- バイト配列public static java.lang.String convertToHexStringWithPrefix(byte[] bytes)
bytes
- バイト配列public static byte[] convertToBytes(java.lang.String original, java.nio.charset.Charset encoding) throws java.lang.NumberFormatException
original
- 16進数文字列(0x[0-9A-F]+)encoding
- 文字エンコーディング(引数が16進数文字列である場合は使用されない)java.lang.NumberFormatException
- 引数が"0x"から開始しておりかつ16進数文字列として成立していない場合public static byte[] convertHexToBytes(java.lang.String hexString)
NumberFormatException
を送出する。
convertToBytes(String, Charset)
を利用すること。hexString
- 16進数文字列([0-9A-F]+)java.lang.NumberFormatException
- 16進数文字列として成立していない場合、
文字列がnullか空文字である場合public static byte[] fillZerosRight(byte[] orig, int length)
orig
- 元データlength
- バイト長public static byte[] toByteArray(java.io.InputStream inputStream)
inputStream
- 入力ストリーム