Javaだと結構悩みます。
ここでは4桁の16進数を整数型に変換する例で考えてみます。
まず標準APIの範囲では上記が見つかりました。
// 方法 1. short value1 = Short.parseShort("1F7C", 16); // 方法 2. short value2a = Short.decode("0x20BC"); short value2b = Short.decode("#7BA0");
しかし、問題があります。16進4桁の文字列が、最上位ビットが1となるような値(符号なしで0x8000より大きい値)の場合、NumberFormatExceptionが発生します。これは、Short型の最大値である32767を超えるためです。
そこで、より大きい整数型で変換し、本来の整数型へキャストで変換(上位ビットを落とす)する方法で回避します。
// 方法 1.の場合 short value1 = (short)Integer.parseInt("FB18", 16); // 方法 2. short value2a = (short)Integer.decode("0x20BC"); short value2b = (short)Integer.decode("#7BA0");