Вот так нагляднее вроде:
Код:
ConsoleWrite(StringRegExpReplace(HexToString('0x04bb0630f6f6b9f13eeb4cc976b86b'), '(^.{4}|.{5}(?=.))', '\1-') & @CRLF)
Func HexToString($bData)
Local $ret = ''
For $i = 5 To 15 Step 5
Local $bits = 0, $pos = $i, $str = '', $num = 0
For $j = 1 To 8
If $bits < 5 Then
$num = BitOR(BitShift(BinaryMid($bData, $pos, 1), -$bits), $num)
$pos -= 1
$bits += 8
EndIf
$str &= StringMid("0123456789ABCDEFGHJKLMNPRSTVWXYZ", BitAND($num, 31) + 1, 1)
$num = BitShift($num, 5)
$bits -= 5
Next
$ret &= $str
Next
Return $ret
EndFunc ;==>HexToString