Skip to content

Instantly share code, notes, and snippets.

@MattDiesel
Created June 19, 2013 10:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MattDiesel/5813398 to your computer and use it in GitHub Desktop.
Save MattDiesel/5813398 to your computer and use it in GitHub Desktop.
Convert to/from numeric bases/
Func _ToBase($iNumber, $iBase, $iPad = 1, $sCharSet = Default)
Local Static $sDefCharSet = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/"
Local $sRet = "", $iDigit
If $sCharSet = Default Then $sCharSet = $sDefCharSet
Do
$iDigit = Mod($iNumber, $iBase)
$sRet = StringMid($sCharSet, $iDigit + 1, 1) & $sRet
$iNumber = Int($iNumber / $iBase)
Until ($iNumber = 0) And (StringLen($sRet) >= $iPad)
Return $sRet
EndFunc ;==>_ToBase
Func _FromBase($sNumber, $iBase, $sCharSet = Default)
Local Static $sDefCharSet = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/"
Local $iRet = 0, $sChar
If $sCharSet = Default Then $sCharSet = $sDefCharSet
Do
$iRet *= $iBase
$sChar = StringLeft($sNumber, 1)
$iRet += StringInStr($sCharSet, $sChar, 1) - 1
$sNumber = StringTrimLeft($sNumber, 1)
Until $sNumber = ""
Return $iRet
EndFunc ;==>_FromBase
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment