Доброго времени суток, уважаемые форумчане.
Есть такая задача:
Алкокод (AlcCode) "зашит" в марке с 4 по 19 символ (длина 16 символов) в кодировке BASE36.
Например, марка 10N0
00003GPD8OG3K8402210110800436382581511411435719812624722666212120
Если 000003GPD8OG3K84 перевести из BASE36 в BASE10, то получится AlcCode 0012665000001190180.
Может кто поделится функцией по переводу BASE36 в BASE10
В интернете нарыл только перевод в BASE36, а вот в десятичную не могу перевести.
+ |
Function fBase36Encode(ByRef lngNumToConvert As Long) As String
'Будет конвертировать любое целое положительное число в base36, а как сделать наоборот?
Dim strAlphabet As String
strAlphabet = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
If lngNumToConvert = 0 Then
Base36Encode = "0"
Exit Function
End If
fBase36Encode = vbNullString
Do While lngNumToConvert <> 0
fBase36Encode = Mid(strAlphabet, lngNumToConvert Mod 36 + 1, 1) & fBase36Encode
lngNumToConvert = lngNumToConvert \ 36
Loop
End Function
|