Base64Decoder Returns an empty string

Just starting out? Need help? Post your questions and find answers here.
souk
User
User
Posts: 10
Joined: Thu Oct 17, 2019 7:30 am

Base64Decoder Returns an empty string

Post by souk »

In a string encoded in urlencode, purebasic returns an empty string, under other conditions, decoding occurs correctly.

Code: Select all

Procedure.s DecodeOnlyBase64(Text$)
       Protected *memDecod = AllocateMemory(Len(Text$))
      Base64Decoder(Text$, *memDecod, Len(Text$))
      Text$= PeekS(*memDecod , -1, #PB_UTF8)
      FreeMemory(*memDecod)
   ProcedureReturn Text$
 EndProcedure 
 
 st.s= "AAskAAAAAAATX2Zsb2F0JTNCV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3MzdGMlM0JXRUJLSVRfV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3MzdGMlM0JXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfczN0Y19zcmdiJTNCV0VCR0xfZGVidWdfcmVuZGVyZXJfaW5mbyUzQldFQkdMX2RlYnVnX3NoYWRlcnMlM0JXRUJHTF9kZXB0aF90ZXh0dXJlJTNCV0VCS0lUX1dFQkdMX2RlcHRoX3RleHR1cmUlM0JXRUJHTF9kcmF3X2J1ZmZlcnMlM0JXRUJHTF9sb3NlX2NvbnRleHQlM0JXRUJLSVRfV0VCR0xfbG9zZV9jb250ZXh0JTIyJTJDJTIyYWxpYXNlZGxpbmV3aWR0aHJhbmdlJTIyJTNBJTIyJTVCMSUyQzElNUQlMjIlMkMlMjJhbGlhc2VkcG9pbnRzaXplcmFuZ2UlMjIlM0ElMjIlNUIxJTJDMTAyNCU1RCUyMiUyQyUyMmFscGhhYml0cyUyMiUzQTglMkMlMjJhbnRpYWxpYXNpbmclMjIlM0ElMjJ5ZXMlMjIlMkMlMjJibHVlYml0cyUyMiUzQTglMkMlMjJkZXB0aGJpdHMlMjIlM0EyNCUyQyUyMmdyZWVuYml0cyUyMiUzQTglMkMlMjJtYXhhbmlzb3Ryb3B5JTIyJTNBMTYlMkMlMjJtYXhjb21iaW5lZHRleHR1cmVpbWFnZXVuaXRzJTIyJTNBMzIlMkMlMjJtYXhjdWJlbWFwdGV4dHVyZXNpemUlMjIlM0ExNjM4NCUyQyUyMm1heGZyYWdtZW50dW5pZm9ybXZlY3RvcnMlMjIlM0ExMDI0JTJDJTIybWF4cmVuZGVyYnVmZmVyc2l6ZSUyMiUzQTE2Mzg0JTJDJTIybWF4dGV4dHVyZWltYWdldW5pdHMlMjIlM0ExNiUyQyUyMm1heHRleHR1cmVzaXplJTIyJTNBMTYzODQlMkMlMjJtYXh2YXJ5aW5ndmVjdG9ycyUyMiUzQTMwJTJDJTIybWF4dmVydGV4YXR0cmlicyUyMiUzQTE2JTJDJTIybWF4dmVydGV4dGV4dHVyZWltYWdldW5pdHMlMjIlM0ExNiUyQyUyMm1heHZlcnRleHVuaWZvcm12ZWN0b3JzJTIyJTNBNDA5NiUyQyUyMm1heHZpZXdwb3J0ZGltcyUyMiUzQSUyMiU1QjMyNzY3JTJDMzI3NjclNUQlMjIlMkMlMjJyZWRiaXRzJTIyJTNBOCUyQyUyMnJlbmRlcmVyJTIyJTNBJTIyV2ViS2l0V2ViR0wlMjIlMkMlMjJzaGFkaW5nbGFuZ3VhZ2V2ZXJzaW9uJTIyJTNBJTIyV2ViR0xHTFNMRVMxLjAoT3BlbkdMRVNHTFNMRVMxLjBDaHJvbWl1bSklMjIlMkMlMjJzdGVuY2lsYml0cyUyMiUzQTAlMkMlMjJ2ZW5kb3IlMjIlM0ElMjJXZWJLaXQlMjIlMkMlMjJ2ZXJzaW9uJTIyJTNBJTIyV2ViR0wxLjAoT3BlbkdMRVMyLjBDaHJvbWl1bSklMjIlMkMlMjJ2ZXJ0ZXhzaGFkZXJoaWdoZmxvYXRwcmVjaXNpb24lMjIlM0EyMyUyQyUyMnZlcnRleHNoYWRlcmhpZ2hmbG9hdHByZWNpc2lvbnJhbmdlTWluJTIyJTNBMTI3JTJDJTIydmVydGV4c2hhZGVyaGlnaGZsb2F0cHJlY2lzaW9ucmFuZ2VNYXglMjIlM0ExMjclMkMlMjJ2ZXJ0ZXhzaGFkZXJtZWRpdW1mbG9hdHByZWNpc2lvbiUyMiUzQTIzJTJDJTIydmVydGV4c2hhZGVybWVkaXVtZmxvYXRwcmVjaXNpb25yYW5nZU1pbiUyMiUzQTEyNyUyQyUyMnZlcnRleHNoYWRlcm1lZGl1bWZsb2F0cHJlY2lzaW9ucmFuZ2VNYXglMjIlM0ExMjclMkMlMjJ2ZXJ0ZXhzaGFkZXJsb3dmbG9hdHByZWNpc2lvbiUyMiUzQTIzJTJDJTIydmVydGV4c2hhZGVybG93ZmxvYXRwcmVjaXNpb25yYW5nZU1pbiUyMiUzQTEyNyUyQyUyMnZlcnRleHNoYWRlcmxvd2Zsb2F0cHJlY2lzaW9ucmFuZ2VNYXglMjIlM0ExMjclMkMlMjJmcmFnbWVudHNoYWRlcmhpZ2hmbG9hdHByZWNpc2lvbiUyMiUzQTIzJTJDJTIyZnJhZ21lbnRzaGFkZXJoaWdoZmxvYXRwcmVjaXNpb25yYW5nZU1pbiUyMiUzQTEyNyUyQyUyMmZyYWdtZW50c2hhZGVyaGlnaGZsb2F0cHJlY2lzaW9ucmFuZ2VNYXglMjIlM0ExMjclMkMlMjJmcmFnbWVudHNoYWRlcm1lZGl1bWZsb2F0cHJlY2lzaW9uJTIyJTNBMjMlMkMlMjJmcmFnbWVudHNoYWRlcm1lZGl1bWZsb2F0cHJlY2lzaW9ucmFuZ2VNaW4lMjIlM0ExMjclMkMlMjJmcmFnbWVudHNoYWRlcm1lZGl1bWZsb2F0cHJlY2lzaW9ucmFuZ2VNYXglMjIlM0ExMjclMkMlMjJmcmFnbWVudHNoYWRlcmxvd2Zsb2F0cHJlY2lzaW9uJTIyJTNBMjMlMkMlMjJmcmFnbWVudHNoYWRlcmxvd2Zsb2F0cHJlY2lzaW9ucmFuZ2VNaW4lMjIlM0ExMjclMkMlMjJmcmFnbWVudHNoYWRlcmxvd2Zsb2F0cHJlY2lzaW9ucmFuZ2VNYXglMjIlM0ExMjclMkMlMjJ2ZXJ0ZXhzaGFkZXJoaWdoaW50cHJlY2lzaW9uJTIyJTNBMCUyQyUyMnZlcnRleHNoYWRlcmhpZ2hpbnRwcmVjaXNpb25yYW5nZU1pbiUyMiUzQTMxJTJDJTIydmVydGV4c2hhZGVyaGlnaGludHByZWNpc2lvbnJhbmdlTWF4JTIyJTNBMzAlMkMlMjJ2ZXJ0ZXhzaGFkZXJtZWRpdW1pbnRwcmVjaXNpb24lMjIlM0EwJTJDJTIydmVydGV4c2hhZGVybWVkaXVtaW50cHJlY2lzaW9ucmFuZ2VNaW4lMjIlM0EzMSUyQyUyMnZlcnRleHNoYWRlcm1lZGl1bWludHByZWNpc2lvbnJhbmdlTWF4JTIyJTNBMzAlMkMlMjJ2ZXJ0ZXhzaGFkZXJsb3dpbnRwcmVjaXNpb24lMjIlM0EwJTJDJTIydmVydGV4c2hhZGVybG93aW50cHJlY2lzaW9ucmFuZ2VNaW4lMjIlM0EzMSUyQyUyMnZlcnRleHNoYWRlcmxvd2ludHByZWNpc2lvbnJhbmdlTWF4JTIyJTNBMzAlMkMlMjJmcmFnbWVudHNoYWRlcmhpZ2hpbnRwcmVjaXNpb24lMjIlM0EwJTJDJTIyZnJhZ21lbnRzaGFkZXJoaWdoaW50cHJlY2lzaW9ucmFuZ2VNaW4lMjIlM0EzMSUyQyUyMmZyYWdtZW50c2hhZGVyaGlnaGludHByZWNpc2lvbnJhbmdlTWF4JTIyJTNBMzAlMkMlMjJmcmFnbWVudHNoYWRlcm1lZGl1bWludHByZWNpc2lvbiUyMiUzQTAlMkMlMjJmcmFnbWVudHNoYWRlcm1lZGl1bWludHByZWNpc2lvbnJhbmdlTWluJTIyJTNBMzElMkMlMjJmcmFnbWVudHNoYWRlcm1lZGl1bWludHByZWNpc2lvbnJhbmdlTWF4JTIyJTNBMzAlMkM"
 Debug DecodeOnlyBase64(st)
firace
Addict
Addict
Posts: 946
Joined: Wed Nov 09, 2011 8:58 am

Re: Base64Decoder Returns an empty string

Post by firace »

That's because your data starts with some null bytes, which immediately terminate the string:

Code: Select all

Procedure.s DecodeOnlyBase64(Text$)
       Protected *memDecod = AllocateMemory(StringByteLength(Text$))
      Base64Decoder(Text$, *memDecod, StringByteLength(Text$))
      result$= PeekS(*memDecod , -1, #PB_UTF8)
      ShowMemoryViewer(*memDecod,1024)
      FreeMemory(*memDecod)
   ProcedureReturn result$
 EndProcedure 
 
 st.s= "AAskAAAAAAATX2Zsb2F0JTNCV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3MzdGMlM0JXRUJLSVRfV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3MzdGMlM0JXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfczN0Y19zcmdiJTNCV0VCR0xfZGVidWdfcmVuZGVyZXJfaW5mbyUzQldFQkdMX2RlYnVnX3NoYWRlcnMlM0JXRUJHTF9kZXB0aF90ZXh0dXJlJTNCV0VCS0lUX1dFQkdMX2RlcHRoX3RleHR1cmUlM0JXRUJHTF9kcmF3X2J1ZmZlcnMlM0JXRUJHTF9sb3NlX2NvbnRleHQlM0JXRUJLSVRfV0VCR0xfbG9zZV9jb250ZXh0JTIyJTJDJTIyYWxpYXNlZGxpbmV3aWR0aHJhbmdlJTIyJTNBJTIyJTVCMSUyQzElNUQlMjIlMkMlMjJhbGlhc2VkcG9pbnRzaXplcmFuZ2UlMjIlM0ElMjIlNUIxJTJDMTAyNCU1RCUyMiUyQyUyMmFscGhhYml0cyUyMiUzQTglMkMlMjJhbnRpYWxpYXNpbmclMjIlM0ElMjJ5ZXMlMjIlMkMlMjJibHVlYml0cyUyMiUzQTglMkMlMjJkZXB0aGJpdHMlMjIlM0EyNCUyQyUyMmdyZWVuYml0cyUyMiUzQTglMkMlMjJtYXhhbmlzb3Ryb3B5JTIyJTNBMTYlMkMlMjJtYXhjb21iaW5lZHRleHR1cmVpbWFnZXVuaXRzJTIyJTNBMzIlMkMlMjJtYXhjdWJlbWFwdGV4dHVyZXNpemUlMjIlM0ExNjM4NCUyQyUyMm1heGZyYWdtZW50dW5pZm9ybXZlY3RvcnMlMjIlM0ExMDI0JTJDJTIybWF4cmVuZGVyYnVmZmVyc2l6ZSUyMiUzQTE2Mzg0JTJDJTIybWF4dGV4dHVyZWltYWdldW5pdHMlMjIlM0ExNiUyQyUyMm1heHRleHR1cmVzaXplJTIyJTNBMTYzODQlMkMlMjJtYXh2YXJ5aW5ndmVjdG9ycyUyMiUzQTMwJTJDJTIybWF4dmVydGV4YXR0cmlicyUyMiUzQTE2JTJDJTIybWF4dmVydGV4dGV4dHVyZWltYWdldW5pdHMlMjIlM0ExNiUyQyUyMm1heHZlcnRleHVuaWZvcm12ZWN0b3JzJTIyJTNBNDA5NiUyQyUyMm1heHZpZXdwb3J0ZGltcyUyMiUzQSUyMiU1QjMyNzY3JTJDMzI3NjclNUQlMjIlMkMlMjJyZWRiaXRzJTIyJTNBOCUyQyUyMnJlbmRlcmVyJTIyJTNBJTIyV2ViS2l0V2ViR0wlMjIlMkMlMjJzaGFkaW5nbGFuZ3VhZ2V2ZXJzaW9uJTIyJTNBJTIyV2ViR0xHTFNMRVMxLjAoT3BlbkdMRVNHTFNMRVMxLjBDaHJvbWl1bSklMjIlMkMlMjJzdGVuY2lsYml0cyUyMiUzQTAlMkMlMjJ2ZW5kb3IlMjIlM0ElMjJXZWJLaXQlMjIlMkMlMjJ2ZXJzaW9uJTIyJTNBJTIyV2ViR0wxLjAoT3BlbkdMRVMyLjBDaHJvbWl1bSklMjIlMkMlMjJ2ZXJ0ZXhzaGFkZXJoaWdoZmxvYXRwcmVjaXNpb24lMjIlM0EyMyUyQyUyMnZlcnRleHNoYWRlcmhpZ2hmbG9hdHByZWNpc2lvbnJhbmdlTWluJTIyJTNBMTI3JTJDJTIydmVydGV4c2hhZGVyaGlnaGZsb2F0cHJlY2lzaW9ucmFuZ2VNYXglMjIlM0ExMjclMkMlMjJ2ZXJ0ZXhzaGFkZXJtZWRpdW1mbG9hdHByZWNpc2lvbiUyMiUzQTIzJTJDJTIydmVydGV4c2hhZGVybWVkaXVtZmxvYXRwcmVjaXNpb25yYW5nZU1pbiUyMiUzQTEyNyUyQyUyMnZlcnRleHNoYWRlcm1lZGl1bWZsb2F0cHJlY2lzaW9ucmFuZ2VNYXglMjIlM0ExMjclMkMlMjJ2ZXJ0ZXhzaGFkZXJsb3dmbG9hdHByZWNpc2lvbiUyMiUzQTIzJTJDJTIydmVydGV4c2hhZGVybG93ZmxvYXRwcmVjaXNpb25yYW5nZU1pbiUyMiUzQTEyNyUyQyUyMnZlcnRleHNoYWRlcmxvd2Zsb2F0cHJlY2lzaW9ucmFuZ2VNYXglMjIlM0ExMjclMkMlMjJmcmFnbWVudHNoYWRlcmhpZ2hmbG9hdHByZWNpc2lvbiUyMiUzQTIzJTJDJTIyZnJhZ21lbnRzaGFkZXJoaWdoZmxvYXRwcmVjaXNpb25yYW5nZU1pbiUyMiUzQTEyNyUyQyUyMmZyYWdtZW50c2hhZGVyaGlnaGZsb2F0cHJlY2lzaW9ucmFuZ2VNYXglMjIlM0ExMjclMkMlMjJmcmFnbWVudHNoYWRlcm1lZGl1bWZsb2F0cHJlY2lzaW9uJTIyJTNBMjMlMkMlMjJmcmFnbWVudHNoYWRlcm1lZGl1bWZsb2F0cHJlY2lzaW9ucmFuZ2VNaW4lMjIlM0ExMjclMkMlMjJmcmFnbWVudHNoYWRlcm1lZGl1bWZsb2F0cHJlY2lzaW9ucmFuZ2VNYXglMjIlM0ExMjclMkMlMjJmcmFnbWVudHNoYWRlcmxvd2Zsb2F0cHJlY2lzaW9uJTIyJTNBMjMlMkMlMjJmcmFnbWVudHNoYWRlcmxvd2Zsb2F0cHJlY2lzaW9ucmFuZ2VNaW4lMjIlM0ExMjclMkMlMjJmcmFnbWVudHNoYWRlcmxvd2Zsb2F0cHJlY2lzaW9ucmFuZ2VNYXglMjIlM0ExMjclMkMlMjJ2ZXJ0ZXhzaGFkZXJoaWdoaW50cHJlY2lzaW9uJTIyJTNBMCUyQyUyMnZlcnRleHNoYWRlcmhpZ2hpbnRwcmVjaXNpb25yYW5nZU1pbiUyMiUzQTMxJTJDJTIydmVydGV4c2hhZGVyaGlnaGludHByZWNpc2lvbnJhbmdlTWF4JTIyJTNBMzAlMkMlMjJ2ZXJ0ZXhzaGFkZXJtZWRpdW1pbnRwcmVjaXNpb24lMjIlM0EwJTJDJTIydmVydGV4c2hhZGVybWVkaXVtaW50cHJlY2lzaW9ucmFuZ2VNaW4lMjIlM0EzMSUyQyUyMnZlcnRleHNoYWRlcm1lZGl1bWludHByZWNpc2lvbnJhbmdlTWF4JTIyJTNBMzAlMkMlMjJ2ZXJ0ZXhzaGFkZXJsb3dpbnRwcmVjaXNpb24lMjIlM0EwJTJDJTIydmVydGV4c2hhZGVybG93aW50cHJlY2lzaW9ucmFuZ2VNaW4lMjIlM0EzMSUyQyUyMnZlcnRleHNoYWRlcmxvd2ludHByZWNpc2lvbnJhbmdlTWF4JTIyJTNBMzAlMkMlMjJmcmFnbWVudHNoYWRlcmhpZ2hpbnRwcmVjaXNpb24lMjIlM0EwJTJDJTIyZnJhZ21lbnRzaGFkZXJoaWdoaW50cHJlY2lzaW9ucmFuZ2VNaW4lMjIlM0EzMSUyQyUyMmZyYWdtZW50c2hhZGVyaGlnaGludHByZWNpc2lvbnJhbmdlTWF4JTIyJTNBMzAlMkMlMjJmcmFnbWVudHNoYWRlcm1lZGl1bWludHByZWNpc2lvbiUyMiUzQTAlMkMlMjJmcmFnbWVudHNoYWRlcm1lZGl1bWludHByZWNpc2lvbnJhbmdlTWluJTIyJTNBMzElMkMlMjJmcmFnbWVudHNoYWRlcm1lZGl1bWludHByZWNpc2lvbnJhbmdlTWF4JTIyJTNBMzAlMkM"
 Debug DecodeOnlyBase64(st)
souk
User
User
Posts: 10
Joined: Thu Oct 17, 2019 7:30 am

Re: Base64Decoder Returns an empty string

Post by souk »

How can we fix this?
In many lines there are zero bytes and each time the number is different, can eat with force to decode despite these bytes?
Thank you!
firace
Addict
Addict
Posts: 946
Joined: Wed Nov 09, 2011 8:58 am

Re: Base64Decoder Returns an empty string

Post by firace »

If your responses always start with the same fixed-size byte pattern, you could just skip the initial bytes when decoding, like this:

Code: Select all

Procedure.s DecodeOnlyBase64(Text$)
       Protected *memDecod = AllocateMemory(StringByteLength(Text$))
      Base64Decoder(Text$, *memDecod, StringByteLength(Text$))
      result$= PeekS(*memDecod+9 , -1, #PB_UTF8)
      ShowMemoryViewer(*memDecod,1024)
      FreeMemory(*memDecod)
   ProcedureReturn result$
 EndProcedure 
 
 st.s= "AAskAAAAAAATX2Zsb2F0JTNCV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3MzdGMlM0JXRUJLSVRfV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3MzdGMlM0JXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfczN0Y19zcmdiJTNCV0VCR0xfZGVidWdfcmVuZGVyZXJfaW5mbyUzQldFQkdMX2RlYnVnX3NoYWRlcnMlM0JXRUJHTF9kZXB0aF90ZXh0dXJlJTNCV0VCS0lUX1dFQkdMX2RlcHRoX3RleHR1cmUlM0JXRUJHTF9kcmF3X2J1ZmZlcnMlM0JXRUJHTF9sb3NlX2NvbnRleHQlM0JXRUJLSVRfV0VCR0xfbG9zZV9jb250ZXh0JTIyJTJDJTIyYWxpYXNlZGxpbmV3aWR0aHJhbmdlJTIyJTNBJTIyJTVCMSUyQzElNUQlMjIlMkMlMjJhbGlhc2VkcG9pbnRzaXplcmFuZ2UlMjIlM0ElMjIlNUIxJTJDMTAyNCU1RCUyMiUyQyUyMmFscGhhYml0cyUyMiUzQTglMkMlMjJhbnRpYWxpYXNpbmclMjIlM0ElMjJ5ZXMlMjIlMkMlMjJibHVlYml0cyUyMiUzQTglMkMlMjJkZXB0aGJpdHMlMjIlM0EyNCUyQyUyMmdyZWVuYml0cyUyMiUzQTglMkMlMjJtYXhhbmlzb3Ryb3B5JTIyJTNBMTYlMkMlMjJtYXhjb21iaW5lZHRleHR1cmVpbWFnZXVuaXRzJTIyJTNBMzIlMkMlMjJtYXhjdWJlbWFwdGV4dHVyZXNpemUlMjIlM0ExNjM4NCUyQyUyMm1heGZyYWdtZW50dW5pZm9ybXZlY3RvcnMlMjIlM0ExMDI0JTJDJTIybWF4cmVuZGVyYnVmZmVyc2l6ZSUyMiUzQTE2Mzg0JTJDJTIybWF4dGV4dHVyZWltYWdldW5pdHMlMjIlM0ExNiUyQyUyMm1heHRleHR1cmVzaXplJTIyJTNBMTYzODQlMkMlMjJtYXh2YXJ5aW5ndmVjdG9ycyUyMiUzQTMwJTJDJTIybWF4dmVydGV4YXR0cmlicyUyMiUzQTE2JTJDJTIybWF4dmVydGV4dGV4dHVyZWltYWdldW5pdHMlMjIlM0ExNiUyQyUyMm1heHZlcnRleHVuaWZvcm12ZWN0b3JzJTIyJTNBNDA5NiUyQyUyMm1heHZpZXdwb3J0ZGltcyUyMiUzQSUyMiU1QjMyNzY3JTJDMzI3NjclNUQlMjIlMkMlMjJyZWRiaXRzJTIyJTNBOCUyQyUyMnJlbmRlcmVyJTIyJTNBJTIyV2ViS2l0V2ViR0wlMjIlMkMlMjJzaGFkaW5nbGFuZ3VhZ2V2ZXJzaW9uJTIyJTNBJTIyV2ViR0xHTFNMRVMxLjAoT3BlbkdMRVNHTFNMRVMxLjBDaHJvbWl1bSklMjIlMkMlMjJzdGVuY2lsYml0cyUyMiUzQTAlMkMlMjJ2ZW5kb3IlMjIlM0ElMjJXZWJLaXQlMjIlMkMlMjJ2ZXJzaW9uJTIyJTNBJTIyV2ViR0wxLjAoT3BlbkdMRVMyLjBDaHJvbWl1bSklMjIlMkMlMjJ2ZXJ0ZXhzaGFkZXJoaWdoZmxvYXRwcmVjaXNpb24lMjIlM0EyMyUyQyUyMnZlcnRleHNoYWRlcmhpZ2hmbG9hdHByZWNpc2lvbnJhbmdlTWluJTIyJTNBMTI3JTJDJTIydmVydGV4c2hhZGVyaGlnaGZsb2F0cHJlY2lzaW9ucmFuZ2VNYXglMjIlM0ExMjclMkMlMjJ2ZXJ0ZXhzaGFkZXJtZWRpdW1mbG9hdHByZWNpc2lvbiUyMiUzQTIzJTJDJTIydmVydGV4c2hhZGVybWVkaXVtZmxvYXRwcmVjaXNpb25yYW5nZU1pbiUyMiUzQTEyNyUyQyUyMnZlcnRleHNoYWRlcm1lZGl1bWZsb2F0cHJlY2lzaW9ucmFuZ2VNYXglMjIlM0ExMjclMkMlMjJ2ZXJ0ZXhzaGFkZXJsb3dmbG9hdHByZWNpc2lvbiUyMiUzQTIzJTJDJTIydmVydGV4c2hhZGVybG93ZmxvYXRwcmVjaXNpb25yYW5nZU1pbiUyMiUzQTEyNyUyQyUyMnZlcnRleHNoYWRlcmxvd2Zsb2F0cHJlY2lzaW9ucmFuZ2VNYXglMjIlM0ExMjclMkMlMjJmcmFnbWVudHNoYWRlcmhpZ2hmbG9hdHByZWNpc2lvbiUyMiUzQTIzJTJDJTIyZnJhZ21lbnRzaGFkZXJoaWdoZmxvYXRwcmVjaXNpb25yYW5nZU1pbiUyMiUzQTEyNyUyQyUyMmZyYWdtZW50c2hhZGVyaGlnaGZsb2F0cHJlY2lzaW9ucmFuZ2VNYXglMjIlM0ExMjclMkMlMjJmcmFnbWVudHNoYWRlcm1lZGl1bWZsb2F0cHJlY2lzaW9uJTIyJTNBMjMlMkMlMjJmcmFnbWVudHNoYWRlcm1lZGl1bWZsb2F0cHJlY2lzaW9ucmFuZ2VNaW4lMjIlM0ExMjclMkMlMjJmcmFnbWVudHNoYWRlcm1lZGl1bWZsb2F0cHJlY2lzaW9ucmFuZ2VNYXglMjIlM0ExMjclMkMlMjJmcmFnbWVudHNoYWRlcmxvd2Zsb2F0cHJlY2lzaW9uJTIyJTNBMjMlMkMlMjJmcmFnbWVudHNoYWRlcmxvd2Zsb2F0cHJlY2lzaW9ucmFuZ2VNaW4lMjIlM0ExMjclMkMlMjJmcmFnbWVudHNoYWRlcmxvd2Zsb2F0cHJlY2lzaW9ucmFuZ2VNYXglMjIlM0ExMjclMkMlMjJ2ZXJ0ZXhzaGFkZXJoaWdoaW50cHJlY2lzaW9uJTIyJTNBMCUyQyUyMnZlcnRleHNoYWRlcmhpZ2hpbnRwcmVjaXNpb25yYW5nZU1pbiUyMiUzQTMxJTJDJTIydmVydGV4c2hhZGVyaGlnaGludHByZWNpc2lvbnJhbmdlTWF4JTIyJTNBMzAlMkMlMjJ2ZXJ0ZXhzaGFkZXJtZWRpdW1pbnRwcmVjaXNpb24lMjIlM0EwJTJDJTIydmVydGV4c2hhZGVybWVkaXVtaW50cHJlY2lzaW9ucmFuZ2VNaW4lMjIlM0EzMSUyQyUyMnZlcnRleHNoYWRlcm1lZGl1bWludHByZWNpc2lvbnJhbmdlTWF4JTIyJTNBMzAlMkMlMjJ2ZXJ0ZXhzaGFkZXJsb3dpbnRwcmVjaXNpb24lMjIlM0EwJTJDJTIydmVydGV4c2hhZGVybG93aW50cHJlY2lzaW9ucmFuZ2VNaW4lMjIlM0EzMSUyQyUyMnZlcnRleHNoYWRlcmxvd2ludHByZWNpc2lvbnJhbmdlTWF4JTIyJTNBMzAlMkMlMjJmcmFnbWVudHNoYWRlcmhpZ2hpbnRwcmVjaXNpb24lMjIlM0EwJTJDJTIyZnJhZ21lbnRzaGFkZXJoaWdoaW50cHJlY2lzaW9ucmFuZ2VNaW4lMjIlM0EzMSUyQyUyMmZyYWdtZW50c2hhZGVyaGlnaGludHByZWNpc2lvbnJhbmdlTWF4JTIyJTNBMzAlMkMlMjJmcmFnbWVudHNoYWRlcm1lZGl1bWludHByZWNpc2lvbiUyMiUzQTAlMkMlMjJmcmFnbWVudHNoYWRlcm1lZGl1bWludHByZWNpc2lvbnJhbmdlTWluJTIyJTNBMzElMkMlMjJmcmFnbWVudHNoYWRlcm1lZGl1bWludHByZWNpc2lvbnJhbmdlTWF4JTIyJTNBMzAlMkM"
 Debug DecodeOnlyBase64(st)
souk
User
User
Posts: 10
Joined: Thu Oct 17, 2019 7:30 am

Re: Base64Decoder Returns an empty string

Post by souk »

Thank you very much!
If the strings do not always start with zero bytes, the response from the server is chaotic in general, as in this case?
User avatar
HeX0R
Addict
Addict
Posts: 1188
Joined: Mon Sep 20, 2004 7:12 am
Location: Hell

Re: Base64Decoder Returns an empty string

Post by HeX0R »

I don't think this has anything to do with "chaotic", for me it looks like there is some kind of binary header before the string.
But shouldn't you know best the structure of this stream?
User avatar
helpy
Enthusiast
Enthusiast
Posts: 552
Joined: Sat Jun 28, 2003 12:01 am

Re: Base64Decoder Returns an empty string

Post by helpy »

souk wrote:In a string encoded in urlencode, purebasic returns an empty string, under other conditions, decoding occurs correctly.
You can not decode with Base64Decoder what was encoded with URLEncoder!
Windows 10 / Windows 7
PB Last Final / Last Beta Testing
Post Reply