Napisałem to sobie w VBS tak na szybko, potem przepisze to na JS
Dim finalResults, formattedResult, TotalAmountOfPages, pathToResultFiles
'Base32 encoding functions for shorter, less confusing verification numbers'
Const kBase32Digits = "0123456789ABCDFGHIJKMNPQRSTVWXYZ"
TotalAmountOfPages = 32767
pathToResultFiles = "C:\Users\Admin\Desktop\crockfords base32\results.txt"
' ZZZ - 32767 last
finalResults = GenerateAllCrocfordsBase32Combinations(TotalAmountOfPages)
Call WriteToFile(finalResults, pathToResultFiles)
'To Base32'
Function ToBase32(ByVal lInput)
Do Until lInput = 0
lModulo = lInput Mod 32
sTemp = Mid(kBase32Digits, lModulo + 1, 1) & sTemp
lInput = lInput \ 32
Loop
ToBase32 = KeepFormat(sTemp)
End Function
Function GenerateAllCrocfordsBase32Combinations(TotalAmountOfPages)
Dim allResults, i, encodedResult
For i=0 To TotalAmountOfPages
encodedResult = ToBase32(i)
allResults = allResults & encodedResult & vbCRLF
Next
GenerateAllCrocfordsBase32Combinations = allResults
End Function
Function KeepFormat(result)
If (Len(result) = 1) Then
KeepFormat = Trim("00" & result)
ElseIf (Len(result) = 2) Then
KeepFormat = Trim("0" & result)
Else
KeepFormat = Trim(result)
End IF
End Function
Function WriteToFile(allResults, path)
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.CreateTextFile(path, True)
f.Write allResults
f.Close
End Function
Zastanawiam się tylko, czemu nie generuje dla 0. I musze dorobić tak aby gdy dojdzie do "32767" zaczynał od nowa.