#include <String.au3>
#include <Array.au3>
Global $aBin2Codes[17]=[16,'0000','0001','0010','0011','0100','0101','0110','0111','1000','1001','1010','1011','1100','1101','1110','1111']
$strHex="9B"
$ResBIN=_HexToBin2($strHex)
MsgBox(64, "HEX to BIN", "HEX value: " & $strHex & " = " & $ResBIN & "(BIN)")
$ResHEX=_Bin2ToHex($ResBIN)
MsgBox(64, "BIN to HEX", "BIN value: " & $ResBIN & " = " & $ResHEX & "(HEX)")
Func _HexToBin2($hexStr)
Local $sString='0123456789ABCDEF'
$bin2Rez=''
For $i =1 To StringLen($hexStr)
$hexFragment=StringMid($hexStr,$i,1)
$iIndex=StringInStr ( $sString,$hexFragment)
$bin2Rez &= $aBin2Codes[$iIndex]
Next
Return $bin2Rez
EndFunc ; ====> _HexToBin2
Func _Bin2ToHex($bin2Str)
Local $sString='0123456789ABCDEF'
$hexRez=''
For $i =1 To StringLen($bin2Str) step 4
$bin2Fragm=StringMid($bin2Str,$i,4)
$iIndex=_ArraySearch($aBin2Codes,$bin2Fragm,0,0,0,1)
$hexRez &= StringMid($sString,$iIndex,1)
Next
Return $hexRez
EndFunc ; ====> _Bin2ToHex