Ruby的
Base64.decode64('OVUP/PZrLzoZpaeQga/TpK9xeJAOuTTbUzm9NplDuhSUMkklPtDeDQDgidUEIX+ijxe80EI').length
返回51。
PHP的
strlen(base64_decode('OVUP/PZrLzoZpaeQga/TpK9xeJAOuTTbUzm9NplDuhSUMkklPtDeDQDgidUEIX+ijxe80EI'))
返回53。
为什么?
答案 0 :(得分:1)
在Ruby中解码,结果是:
"9U\x0F\xFC\xF6k/:\x19\xA5\xA7\x90\x81\xAF\xD3\xA4\xAFqx\x90\x0E\xB94\xDBS9\xBD6\x99C\xBA\x14\x942I%>\xD0\xDE\r\x00\xE0\x89\xD5\x04!\x7F\xA2\x8F\x17\xBC"
如果您在PHP中看到额外的字符,可能是因为它没有完全正确编码。对此进行解码和重新编码会产生不同的字符串:
"OVUP/PZrLzoZpaeQga/TpK9xeJAOuTTbUzm9NplDuhSUMkklPtDeDQDgidUE\nIX+ijxe8\n"
这可能与原版略有不同,可能不应该,并解码为相同的东西。
0EI
部分可能不完整,并被Ruby解码器拒绝。