View/Edit #29:unBase64

Switch to edit mode.

Name(s): unBase64
1:  {string} = args
2:  nums = {}
3:  for x in ($string_utils:char_list(string))
4:    nums = {@nums, is_member(x, this.base64_table) - 1}
5:    $command_utils:suspend_if_needed()
6:  endfor
7:  out = ""
8:  while (nums)
9:    bignum = nums[1] * 262144 + nums[2] * 4096 + nums[3] * 64 + nums[4]
10:   group = {bignum / 65536}
11:   if (nums[3] != 64)
12:     bignum = bignum % 65536
13:     group = {@group, bignum / 256}
14:     if (nums[4] != 64)
15:       bignum = bignum % 256
16:       group = {@group, bignum}
17:     endif
18:   endif
19:   out = out + encode_binary(@group)
20:   nums[0..4] = {}
21:   $command_utils:suspend_if_needed()
22: endwhile
23: return out
24: "Last modified by Dax (#789) on Sun Dec 16 20:15:03 2001 MST."
25: "This verb previously owned by manta (#7165), and chowned to $slacker upon dewizarding (Sat Aug 17 14:50:04 2002 MDT)."
26: "Last modified by Dax (#789) on Sat Aug 17 14:50:04 2002 MDT."

Verb arguments: this none this
Verb perms: Readable eXecutable NOT-Debug
Verb owned by: Slacker (#55)

You are not logged in.

[home | help | who | search | setup | code]