Вопрос очень нетривиален.
Мне нужна процедура, которая из шестнадцатиричного дампа вида:
"6655668BEC ..."
Формирует бинарный файл.
Работающий код:
- Код: Выделить всё
'-------------------------------------------------------------------------------------------
'Making the Binary Data:
Public Function MakeBinary(s_BinBuffer As String) As String
Dim s_HexData As String
Dim i As Long
Do While Len(s_BinBuffer) <> 0
s_HexData = s_HexData & Val(CInt("&H" & Left(s_BinBuffer, 2)))
'Val ("&h" & Hex$(10))
'If i = 10 Then Exit Function
'Cutting:
If Len(s_BinBuffer) <= 1 Then
GoTo Finished
End If
s_BinBuffer = Right(s_BinBuffer, Len(s_BinBuffer) - 2)
Loop
Finished:
MakeBinary = s_HexData
Exit Function
End Function
'-------------------------------------------------------------------------------------------
Этот код на 100% работает на Win32 платформе.
Запущеный же на эмуляторе под линуксом он вылетает на
исключении в:
Chr(X)
.
Это ОЧЕНЬ Плохо.
Вылетает только тогда, Сhr возвращает непечатный символ. Судя-по всему это баг эмулятора.
Есь ли каке нибудь варианты перекодировать Hex2Bin?
Просьба коментарии по-существу!!!
--
Огромное спасибо заранее!