我正在尝试将客户端发送到其会计系统上的特定帐户的URL。 URL格式为:
https://accountingsystem.com/Edit/CustomerEdit.aspx?CustomerId=MwA0ADEANQA4ADYAMgA=-MzQxNTg2Mg==
客户ID是3415862,当编码为Base64时,确实给了我MzQxNTg2Mg ==。但是,我不知道MwA0ADEANQA4ADYAMgA =来自哪里,或者如何计算它。令人困惑的是:
$ echo MwA0ADEANQA4ADYAMgA=-MzQxNTg2Mg== | base64 -D -d
<Info>: Read 34 bytes.
<Info>: Decoded to 14 bytes.
<Info>: Wrote 14 bytes.
3415862%
$ echo MwA0ADEANQA4ADYAMgA= | base64 -D -d
<Info>: Read 21 bytes.
<Info>: Decoded to 14 bytes.
<Info>: Wrote 14 bytes.
3415862%
$ echo MzQxNTg2Mg== | base64 -D -d
<Info>: Read 13 bytes.
<Info>: Decoded to 7 bytes.
<Info>: Wrote 7 bytes.
3415862%
有人能澄清这个难题吗?
期待中, Ĵ
答案 0 :(得分:2)
有区别:
MwA0ADEANQA4ADYAMgA=
解码为十六进制3300340031003500380036003200
和
MzQxNTg2Mg==
解码为十六进制33343135383632
虽然两者都是字符串3415862
,但区别在于第一个字符串是从UTF-16字符串编码而第二个字符串是从UTF-8或ASCII编码。
这就是说,我不知道为什么他们会将两种格式合并为一个值。也许他们只是使用' - '符号表示允许两种格式。