Base64 decode and create file from clipboard Topic is solved

Get help with using AutoHotkey (v1.1 and older) and its commands and hotkeys
foguetes
Posts: 19
Joined: 19 Oct 2018, 04:58

Base64 decode and create file from clipboard

07 May 2019, 05:28

Hi,

I need a script that decodes base64 strings from the clipboard and saves them as .wav files.

The strings look like this:

Code: Select all

UklGRpSeAABXQVZFZm10IBAAAAABAAEAwF0AAIC7AAACABAAZGF0YXCeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAABAAAAAAABAAEAAAAAAAAAAQAAAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAQAAAAAAAAABAAAAAQAAAAAAAAAAAAEAAQAAAAAAAQAAAAAAAQABAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAABAAAAAAABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAA//8AAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAEAAQAAAAAAAQABAAAAAAAAAAAAAAABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAAAAP//AAAAAAAAAAAAAAAA//8AAP///////wAAAAD///////8AAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAABAAAAAgABAAEAAQABAAIAAgACAAEAAgACAAIAAgADAAMABAAFAAUABAAFAAUABQAFAAUABAAEAAQABAAEAAUABQAFAAUABAAEAAUABAAEAAUABAAFAAMABAAFAAUABgAGAAgABgAIAAsADwATABgAIAAgABsAGwAiACEAJwApACsAMgA4AD8AOgBLAE8AUQBbAFwAWwBQAF0AXQBSAEkASABOAEwATABGAEMASQBUAF0AYQBVAE4AdgCZAJsAkQCWAKoAwgDMANkA4QDUAM8AtQCHAIIAgACoAK4A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/v/+//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////v/+//7//v/9//3//P/8//z/+//7//r/+v/6//n/+f/5//n/+f/5//r/+//7//z//P/9//3//v/+//7//////////v/+//7//v/9//3//f/8//z//P/8//z//P/8//3//f/9//3//f/9//3//v/9//3//f/9//z//P/7//v/+v/6//r/+v/6//r/+v/6//r/+//7//z//P/9//7//v/+//////8AAAAAAAAAAP///////////v/+//7//f/9//3//f/8//z//P/8//z//f/9//7//v/+//7//v/+//7//v/+//7//v/+//7//f/9//3//f/9//3//v/+//7//f/+//7//v/+//7//v/+//7/////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAgADAAMAAwADAAQABAAEAAQABAAEAAQABAAEAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAEAAQABQAFAAYABgAGAAcABwAHAAgACAAHAAcABwAHAAYABgAFAAUABQAEAAQAAwADAAMAAwADAAMAAwAEAAQABAAEAAQABAAEAAUABQAFAAQABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAMAAwADAAIAAgACAAIAAgACAAEAAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAgACAAIAAgABAAIAAQABAAEAAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////v/+//7//v/+//7//v/+//7//v/+//7//v//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACAAIAAQABAAIAAgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//////////////////////////////////////////////////////////////8AAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAgACAAIAAgACAAIAAgACAAMAAwADAAMAAwADAAMAAwADAAMAAwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAwADAAMAAwADAAMAAgACAAIAAgACAAIAAQABAAEAAQABAAAAAAAAAAAAAAA=
Does anyone know of a script that does this?
User avatar
elModo7
Posts: 217
Joined: 01 Sep 2017, 02:38
Location: Spain
Contact:

Re: Base64 decode and create file from clipboard

07 May 2019, 09:27

Using Base64Dec by SKAN:
Copy your Base64 code (this script retrieves base64 data from the clipboard), now open the program and right next to it there should be a file called output.wav with the audio file.
The sample you posted for example contains a Hello.

Code: Select all

SetWorkingDir %A_ScriptDir% 

nBytes := Base64Dec( Clipboard, Bin )
File := FileOpen("output.wav", "w")
File.RawWrite(Bin, nBytes)
File.Close()
ExitApp


Base64Dec( ByRef B64, ByRef Bin ) {  ; By SKAN / 18-Aug-2017
Local Rqd := 0, BLen := StrLen(B64)                 ; CRYPT_STRING_BASE64 := 0x1
  DllCall( "Crypt32.dll\CryptStringToBinary", "Str",B64, "UInt",BLen, "UInt",0x1
         , "UInt",0, "UIntP",Rqd, "Int",0, "Int",0 )
  VarSetCapacity( Bin, 128 ), VarSetCapacity( Bin, 0 ),  VarSetCapacity( Bin, Rqd, 0 )
  DllCall( "Crypt32.dll\CryptStringToBinary", "Str",B64, "UInt",BLen, "UInt",0x1
         , "Ptr",&Bin, "UIntP",Rqd, "Int",0, "Int",0 )
Return Rqd
}
foguetes
Posts: 19
Joined: 19 Oct 2018, 04:58

Re: Base64 decode and create file from clipboard

08 May 2019, 03:50

Thanks for the help.

The script works great, but I would also need to save several files and add an increment to the file name. Let's say I would start with TTS_01 and each new file would increase by one digit.
I tried using the different FileOpen flags but none of them does what I need.

Do you know any method for achieving this?
User avatar
elModo7
Posts: 217
Joined: 01 Sep 2017, 02:38
Location: Spain
Contact:

Re: Base64 decode and create file from clipboard  Topic is solved

08 May 2019, 05:13

There you go:

Code: Select all

SetWorkingDir %A_ScriptDir% 
num := 1
nBytes := Base64Dec( Clipboard, Bin )
Loop{
	filename = TTS_%num%.wav
	if !FileExist(filename){
		File := FileOpen(filename, "w")	
		File.RawWrite(Bin, nBytes)
		File.Close()
		ExitApp
	}
	num++
}

Base64Dec( ByRef B64, ByRef Bin ) {  ; By SKAN / 18-Aug-2017
Local Rqd := 0, BLen := StrLen(B64)                 ; CRYPT_STRING_BASE64 := 0x1
  DllCall( "Crypt32.dll\CryptStringToBinary", "Str",B64, "UInt",BLen, "UInt",0x1
         , "UInt",0, "UIntP",Rqd, "Int",0, "Int",0 )
  VarSetCapacity( Bin, 128 ), VarSetCapacity( Bin, 0 ),  VarSetCapacity( Bin, Rqd, 0 )
  DllCall( "Crypt32.dll\CryptStringToBinary", "Str",B64, "UInt",BLen, "UInt",0x1
         , "Ptr",&Bin, "UIntP",Rqd, "Int",0, "Int",0 )
Return Rqd
}
freespacing
Posts: 150
Joined: 28 Sep 2016, 11:14
Contact:

Re: Base64 decode and create file from clipboard

08 May 2019, 05:42

@foguetes This is a really interesting question but it makes me curious about the use case. Would you be willing to share in which kind of context you find wav files in base64 that you need to decode?

I was trying to think on my side when I might use something like that. The only thing I could come of with is that sometimes I encounter a script with icons which are encoded within the script. Usually if I need to look at them I paste them in a conversion website, but this is way more cool.

Looking forward to — hopefully — learning something.
User avatar
elModo7
Posts: 217
Joined: 01 Sep 2017, 02:38
Location: Spain
Contact:

Re: Base64 decode and create file from clipboard

08 May 2019, 05:48

He may want to embed wav files in a script using base64 and then decode and play them or this might be a way of sharing data via sockets without needing to handle files, just raw base64 data then decode on the other side.
I can find many uses for this tbh (did not save the script the first time but this second iteration with multiple exports... I'm deffinitely saving it at least for audio generation from within the script).
freespacing
Posts: 150
Joined: 28 Sep 2016, 11:14
Contact:

Re: Base64 decode and create file from clipboard

08 May 2019, 06:09

elModo7 wrote:
08 May 2019, 05:48
I'm deffinitely saving it at least for audio generation from within the script
Yes, it's neat.
That's why I'm curious about use cases. Now I have a hammer, I'm looking for a nail. ;)
User avatar
elModo7
Posts: 217
Joined: 01 Sep 2017, 02:38
Location: Spain
Contact:

Re: Base64 decode and create file from clipboard

08 May 2019, 06:16

Oh my... I just thought of an amazing use for my needs!
I am working on a stream deck app, the thing is that the images have to be configured inside the client (then config the script in the server)...
I could have them configured inside the server and then when client requests images for the buttons, it will send in base64 the image for each button, thus once you update an image in the server it is shown in the phone.
gregster
Posts: 8990
Joined: 30 Sep 2013, 06:48

Re: Base64 decode and create file from clipboard

08 May 2019, 13:49

freespacing wrote:
08 May 2019, 06:09
That's why I'm curious about use cases. Now I have a hammer, I'm looking for a nail. ;)
Website APIs often return files like images or sound files in this format, iirc. Then, you will have to decode them...
User avatar
elModo7
Posts: 217
Joined: 01 Sep 2017, 02:38
Location: Spain
Contact:

Re: Base64 decode and create file from clipboard

08 May 2019, 14:53

We have some students parsing baseX data files in base64 inside jsons when they call the api, I hadn't thought about that.
foguetes
Posts: 19
Joined: 19 Oct 2018, 04:58

Re: Base64 decode and create file from clipboard

23 May 2019, 04:10

gregster wrote:
08 May 2019, 13:49
freespacing wrote:
08 May 2019, 06:09
That's why I'm curious about use cases. Now I have a hammer, I'm looking for a nail. ;)
Website APIs often return files like images or sound files in this format, iirc. Then, you will have to decode them...
This is why I need this script.

Thanks!

Return to “Ask for Help (v1)”

Who is online

Users browsing this forum: hiahkforum, NullRefEx, ShatterCoder and 104 guests