Ooops
January 15, 2021, 06:38:37 PM

Author Topic: [bb] Base 64 Encoder by mangus [ 1+ years ago ]  (Read 404 times)

Offline BlitzBot

  • Jr. Member
  • **
  • Posts: 1
[bb] Base 64 Encoder by mangus [ 1+ years ago ]
« on: June 29, 2017, 12:28:41 AM »
Title : Base 64 Encoder
Author : mangus
Posted : 1+ years ago

Description : Function to encode string text to base64

Code :
Code: BlitzBasic
  1. ;##########################################
  2. ;########    BASE 64 ENCODER    ###########
  3. ;##########################################
  4.  
  5.  
  6. Print b64enc$("This text is encoded in base 64") ;little example ;)
  7. ;Decoder in progress, but is a piece of cake if you understand the encoding process!
  8.  
  9.  
  10. ;##########################################
  11. ;######## FUNCTION STARTS HERE! ###########
  12. ;##########################################
  13. Function b64enc$(a$)
  14.  
  15.         b64$="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
  16.         m$=""
  17.         f$=""
  18.  
  19.         largo=Len(a$)
  20.  
  21.         cx$=""
  22.         For decode=1 To largo
  23.  
  24.                 x$=Mid$(a$,decode,1)
  25.                 Tx=Asc(x$)
  26.                 b$=Bin$(tx)
  27.                 b$=Right$(b$,8)
  28.                 cx$=cx$+b$
  29.  
  30.         Next
  31.  
  32.         largo=Len(cx$)
  33.  
  34.         For decode=1 To largo Step 6
  35.  
  36.                 x$=Mid$(cx$,decode,6)  
  37.                 bbb=Len(x$)
  38.                 bbbx=6-bbb
  39.                         If bbbx>0 Then
  40.                                 f$="="
  41.                         EndIf
  42.  
  43.                 x$=x$+Left$("00000000",bbbx)
  44.                 res=0
  45.  
  46.                 For y=1 To 6
  47.                         by=Mid$(x$,7-y,1)
  48.                         res=res+(2^(y-1)*by)
  49.                 Next
  50.  
  51.         m$=m$+Mid$(b64$,res+1,1)+f$
  52.        
  53.         Next
  54.  
  55.         Return m$


Comments : none...

 

SimplePortal 2.3.6 © 2008-2014, SimplePortal