Code: Select all
s$ = "AACrj6j/AAAAAAAUDgAAAAAAAf////8gIYAECQcohwAAiAIABAQAAAAAAAOAIIf/gBDn/5QQGgBr/A="
data$ = Base64Str(s$, true)
print(data$)
Code: Select all
s$ = "AACrj6j/AAAAAAAUDgAAAAAAAf////8gIYAECQcohwAAiAIABAQAAAAAAAOAIIf/gBDn/5QQGgBr/A="
data$ = Base64Str(s$, true)
print(data$)
Code: Select all
Print(ByteLen(data$))
Code: Select all
Local Debugstr$=""
For Local i=0 To StrLen(data$, #ENCODING_RAW)-1
Local byte$=MidStr((HexStr(ByteAsc(data$, i))),1)
If StrLen(byte$)<2 Then byte$="0"..byte$
Debugstr$=Debugstr$ ..byte$.." "
Next
DebugPrint(Debugstr$)
Code: Select all
datas$ = "AACrj6j/AAAAAAAUDgAAAAAAAf////8gIYAECQcohwAAiAIABAQAAAAAAAOAIIf/gBDn/5QQGgBr/A=" ; Original after reencode you NO /A=
;datas$="cHVyZXRleHQ=" ; puretext ok
;datas$="VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIDEzIGxhenkgZG9ncy4=" ; other binary also ok
data$ = Base64Str(dataS$, True)
DebugPrint(dataS$)
dataS$ = Base64Str(data$,False)
DebugPrint(dataS$)
Maybe there was a copy-paste error by me.AACyiKT/AAAAAAASCgAAAAAAAf////8sv4AEEAAkigAAiAAAAgAAAAAAAAOAIIr/gBCN/5QQAQBufw==
Code: Select all
Local Debugstr$=""
For Local i=0 To StrLen(data$, #ENCODING_RAW)-1
Local byte$=FormatStr("%.2X", ByteVal(MidStr(data$,i,1, #ENCODING_RAW),#BYTE))
Debugstr$=Debugstr$ ..byte$.." "
Next
DebugPrint(Debugstr$)
It works as expected, because the decoded data starts with a null byte, which terminates a string and cuts out the rest of the data when processed as a string. So if you try to print that, or do any other string manipulation, it shows up as an empty string. Whatever you plan to do with the data, handle it as binary data.fingus wrote: ↑Wed Sep 06, 2023 4:26 pmGives back an empty String under Hollywood Linux 64bit, Version 9.1.Code: Select all
s$ = "AACrj6j/AAAAAAAUDgAAAAAAAf////8gIYAECQcohwAAiAIABAQAAAAAAAOAIIf/gBDn/5QQGgBr/A=" data$ = Base64Str(s$, true) print(data$)