Just starting out? Need help? Post your questions and find answers here.
souk
User
Posts: 10 Joined: Thu Oct 17, 2019 7:30 am
Post
by souk » 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)
firace
Addict
Posts: 946 Joined: Wed Nov 09, 2011 8:58 am
Post
by firace » Thu Mar 12, 2020 9:48 am
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
Posts: 10 Joined: Thu Oct 17, 2019 7:30 am
Post
by souk » Thu Mar 12, 2020 10:24 am
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
Posts: 946 Joined: Wed Nov 09, 2011 8:58 am
Post
by firace » Thu Mar 12, 2020 10:34 am
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
Posts: 10 Joined: Thu Oct 17, 2019 7:30 am
Post
by souk » Thu Mar 12, 2020 10:53 am
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?
HeX0R
Addict
Posts: 1188 Joined: Mon Sep 20, 2004 7:12 am
Location: Hell
Post
by HeX0R » Thu Mar 12, 2020 2:53 pm
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?
helpy
Enthusiast
Posts: 552 Joined: Sat Jun 28, 2003 12:01 am
Post
by helpy » Fri Mar 13, 2020 8:48 pm
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