Base64Decoder Returns an empty string
Posted: Thu Mar 12, 2020 9:25 am
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)