基于PHP的网站返回base64编码的字符串,它是序列化数据的base64编码。当我手动对解码的字符串进行base64编码时,得到的结果不同。

所以,我进一步研究它,发现序列化的数据包含空字节。

Base64编码字符串:

Tzoxmdoirxhwcmvzc2lvbii6mzp7czoxndoiaev4cjlc3npb24ab3io3m6mzoizgl2ijtzoje4oiiarxhwcmvzc2lvgbwyxjhbxmio2e6mjp7atowo2q6odtpoje7zdoyo31zojk6inn0cmluz2lmesi7czoiii4ic8gmi7fq==

$ echo "TzoxMDoiRXhwcmVzc2lvbiI6Mzp7czoxNDoiAEV4cHJlc3Npb24Ab3AiO3M6MzoiZGl2IjtzOjE4OiIARXhwcmVzc2lvbgBwYXJhbXMiO2E6Mjp7aTowO2Q6ODtpOjE7ZDoyO31zOjk6InN0cmluZ2lmeSI7czo1OiI4IC8gMiI7fQ==" | base64 -D | hexdump -C

00000000 4f 3a 31 30 3a 22 45 78 70 72 65 73 73 69 6f 6e |O:10:"Expression|

00000010 22 3a 33 3a 7b 73 3a 31 34 3a 22 00 45 78 70 72 |":3:{s:14:".Expr|

00000020 65 73 73 69 6f 6e 00 6f 70 22 3b 73 3a 33 3a 22 |ession.op";s:3:"|

00000030 64 69 76 22 3b 73 3a 31 38 3a 22 00 45 78 70 72 |div";s:18:".Expr|

00000040 65 73 73 69 6f 6e 00 70 61 72 61 6d 73 22 3b 61 |ession.params";a|

00000050 3a 32 3a 7b 69 3a 30 3b 64 3a 38 3b 69 3a 31 3b |:2:{i:0;d:8;i:1;|

00000060 64 3a 32 3b 7d 73 3a 39 3a 22 73 74 72 69 6e 67 |d:2;}s:9:"string|

00000070 69 66 79 22 3b 73 3a 35 3a 22 38 20 2f 20 32 22 |ify";s:5:"8 / 2"|

00000080 3b 7d |;}|

如您所见,它包含空字节。

那么,如果base64包含空字节,我如何对这样的字符串进行编码?

在对字符串进行编码之前,如何在字符串中包含空字节?

因为根据我的理解,字符串在PHP和Python中以空字节结尾。

如果我在PHP中表示如下所示的字符串并对其进行base64编码,就会得到不正确的结果。

$t=“O:10:”表达式”:3:{s:14:“\0Expression\0op”;s:3:“div”;s:18:“\0Expression\0params”;a:2:{i:0;d:8;i:1;d:2;}s:9:“stringify”;s:5:“8/2”;}

用PHP或Python解决方案会很好。

谢谢。

php对字节base64编码,Base64编码包含空字节的输入相关推荐

  1. python读取csv文件忽略空值_如何跳过/忽略csv文件中的空字节pd.read_csv?

    我有一个.csv文件,它有数百行/列,看起来像这样(小例子,请参阅图片,我无法复制/粘贴空字节必须手动键入它们):9142,16.04000000,14.65000000 <0x00>&l ...

  2. JavaScript:实现将字节数组转换为 base64 编码算法(附完整源码)

    JavaScript:实现将字节数组转换为 base64 编码算法 function bufferToBase64 (binaryData) {// The base64 encoding uses ...

  3. Computer:字符编码(ASCII编码/GBK编码/BASE64编码/UTF-8编码)的简介、案例应用(python中的编码格式及常见编码问题详解)之详细攻略

    Computer:字符编码(ASCII编码/GBK编码/BASE64编码/UTF-8编码)的简介.案例应用(python中的编码格式及常见编码问题详解)之详细攻略 目录 符串编码(ASCII编码/GB ...

  4. Base64和URL编码

    URL为什么使用百分号编码(URL编码) 1.一些数据(二进制串)无法在URL中使用字符表示(以US-ASCII字符集举例,其中的一些 字符 并不能显示的表示出来,如响铃) 2.传输的字符是URL中保 ...

  5. java base64 实现,Base64编码实现(Java)

    最近还在读Cay Horstmann的Core Java这本书.在第二卷第三章第四小节中讲到了一个Base64编码.读了许久,终于把它读懂了.特此记录下来,以便将来用得到! 首先看一下Wikipedi ...

  6. php代码在线base64解码,Base64在线编码解码实现代码 演示与下载

    在线演示地址: gb2312版本 http://tools.jb51.net/tools/base64_decode-gb2312.php utf8版本 http://tools.jb51.net/t ...

  7. 便利贴--41{js - base64 - _utf8_ 的编码和解码}

    便利贴--41{便利贴--41{js - base64 - _utf8_ 的编码和解码}} 编码 解码 utf8 合并 编码 this.encode = function (input) {_keyS ...

  8. Java Base64加密解密编码解码

    起因 最近因为项目要做等保,需要对用户提交的字段进行加密存储,但是还需要做查询,所以需要能解密. 办法 目前打算采用rsa非对称加密保存数据,实现数据加密和解密,但是很尴尬的发现生成的公钥和秘钥居然是 ...

  9. Base64与百分号编码相关 - iOS

    一. Base64 编码 Base64 是许多 web 协议的标准,在日常开发中很多地方会需要利用 Base64 进行编解码的操作; 在相互转换操作的时候,可以借用 NSData 来执行,例如接口中提 ...

最新文章

  1. php读取大文件某行内容,php读取大文件最后几行数据的实现代码
  2. 微信支付架构为什么这么牛?
  3. 【译】缓存最佳实践 max-age的陷阱
  4. 【Android FFMPEG 开发】FFMPEG 读取音视频流中的数据到 AVPacket ( 初始化 AVPacket 数据 | 读取 AVPacket )
  5. iis服务器建立动态网站,09-IIS添加动态网站
  6. python集合属性方法运算_python对象及运算 序列小结 集合
  7. 微信读书android换到ios,Android 微信读书本周推荐传送带列表实现
  8. MyBatis教程– CRUD操作和映射关系–第2部分
  9. (MATLAB)使用梯度下降进行一元线性回归
  10. 请求之前~HttpHandler实现媒体文件和图像文件的盗链
  11. 多伦多大学计算机专音乐专业,多伦多大学音乐专业有哪些申请要求?
  12. 专利服务器拒收 文件解压异常,电子申请常见问题解答20161024.doc-中国专利电子申请网.doc...
  13. 史上最全面的JTAG和SWD接口的定义/STM32/STM8工程师的福音/JTAG转SWD接口仿真/告别杂乱的仿真线/终于讲清楚了JTAG/SWD
  14. 论文解读 | 百度 ERNIE: Enhanced Representation through Knowledge Integration
  15. 嗅探器c语言源码,C语言嗅探器
  16. 明日传奇第三季/全集Legends of Tomorrow迅雷下载
  17. jQuery LigerUI使用教程入门篇
  18. [论文笔记]Self-Attention Generative Adversarial Networks
  19. 如何删除windows的WSL
  20. Arduino遥控小车

热门文章

  1. css硬件加速,用CSS开启硬件加速提高网站性能
  2. Spring Cloud学习系列第一章:Eureka之服务注册与发现
  3. docker批量删除镜像-条件删除(过滤条件筛选)
  4. 错觉图片生成实验 - 正方形错觉
  5. Mybatis异常:java.lang.ClassNotFoundException: org.mybatis.spring.SqlSessionFactoryBean
  6. c语言asinh函数,C ++ STL中的asinh()函数
  7. SAP 生产订单工序外协对应的工序报工后,对应的采购订单自动入库
  8. Python 之体重指数( BMI )
  9. python 股票库_GitHub - zxyxz/stock: stock,股票系统。使用python进行开发。
  10. 用python画股票分时图 github_GitHub - DogeWatch/stock: stock,股票系统。使用python进行开发。...