BinToHex 와 HexToBin 명령어는 이진데이터와  HEX문자열(BASE64문자열)간 변환 명령어 입니다. 오토핫키 명령어로 구현 가능하지만 편하고 빠르게 쓰려고 추가한 명령어로 두 명령어 모두 성공시 ErrorLevel 값은 0 실패시 1을 반환합니다.

 

 

BinToHex , OutHexStringVar, binDataVar, binDataSize, [*Base64]

 

binDataVar 변수에 저장된 데이터를 HEX 문자열로 변환시켜 줍니다.

 

[변수]

OutHexStringVar : 변환된 HEX 문자열 출력 변수

binDataVar : 이진데이터가 저장된 입력 변수

binDataSize : 변환시킬 바이트 수

 

[옵션]
*Base64 : 이 옵션 사용시 BASE64 문자열로 변환

 


 

HexToBin , OutBinDataVar, OutBinDataSize, hexStringVar, [*Base64]

 

hexStringVar 변수에 저장된 HEX 문자열을 이진데이터로 변환시켜줍니다.

 

[변수]

OutBinDataVar : 변환된 이진데이터 출력 변수

OutBinDataSize : 변환된 이진데이터 사이즈 출력 변수

hexStringVar : HEX 문자열 입력 변수

 

[옵션]
*Base64 : BASE64 문자열을 이진데이터로 변환시킬때 사용

 

 


 

Test.ahk 파일을 다운로드한  'Ahk+ 전용 AutoHotkey.exe 파일'  위에 드래그해서 실행하세요.

BinToHex테스트_소스.zip

 

 

 

<테스트 스크립트>


imageFile = sample.bmp
FileRead, srcData, *c %imageFile%  ;*c 옵션은 파일내용을 그대로 읽어오는 옵션
FileGetSize, srcSize, %imageFile%


;이미지데이터를 HEX 문자열 변환 후 다시 이미지데이터 변환
BinToHex, hexStr, srcData, srcSize
MsgBox,, 이미지데이터를 HEX문자열로 변환한 상태, % hexStr
HexToBin, newData, newSize, hexStr
file := FileOpen("1.HEX문자열-이미지변환.bmp", "w")
file.RawWrite(newData, newSize)
file.Close()


;이미지데이터를 BASE64 문자열 변환 후 다시 이미지데이터 변환
BinToHex, b64Str, srcData, srcSize, *Base64
MsgBox,, 이미지데이터를 BASE64문자열로 변환한 상태, % b64Str
HexToBin, newData, newSize, b64Str, *Base64
file := FileOpen("2.BASE64문자열-이미지변환.bmp", "w")
file.RawWrite(newData, newSize)
file.Close()

 

 

 

 

Posted by 와이로