美文网首页
python2->3编码格式坑

python2->3编码格式坑

作者: yytester | 来源:发表于2019-04-01 10:27 被阅读0次

两年前用HttpRunner框架做了接口自动化,最近再次用发现改动很大,特别是从python2升到了python3,字节和字符对应关系的改变,对曾经用到的加密模块产生了问题.

image.png image.png

跑去几个社区提问题也没靠谱回复:segment , stackflow

最开始以为是Crypto库不支持python3,因为同样的代码,python2运行并不报错.
后来一边继续用python2做自动化工程,一边每天留出一点时间解决python3的这个加密问题.
直到上周发现继续使用python2的话,框架没法打印出带中文的自动化测试报告,除非我又去改框架代码.....
没办法了..一定要解决python3的问题,不然类似问题会越堆越多.

拷贝了一份已有工程,换到另一台笔记本,避免系统自身环境问题干扰.
两台电脑的两份代码, 对比着一行一行修改,一句一句调试打印...
修改了加密代码,上周五开始没报编码问题了,但是登录返回的是9999网络错误, 看服务器后台日志,是无法解析加密代码.

看来修改加密代码处理了加密问题,但是服务器那边又无法解析了.

刚才看修改前的加密原版代码,突然发现了问题所在....

其实只需要把这行
pad = lambda s: s + (BS - len(s) % BS) * chr(BS - len(s) % BS)
改成
pad = lambda s: (s + ((BS - len(s) % BS) * chr(BS - len(s) % BS))).encode(encoding="utf-8")

不需要修改加密代码,只把最后的格式改一下就可以了....

image.png

相关文章

  • python2->3编码格式坑

    两年前用HttpRunner框架做了接口自动化,最近再次用发现改动很大,特别是从python2升到了python3...

  • mysql表编码相关操作

    1、查看所有字段的编码格式: 2、查看表的编码格式: 3、修改数据库的编码格式: 4、修改表的编码格式 5、修改字...

  • mysql中文乱码问题

    1. 查看默认的编码格式: 2. 查看数据库的编码格式: 3. 修改数据库编码格式: 4. 查看创建表语句及其编码...

  • 音视频核心知识

    1.音频编码相关 常见的音频编码格式有(MP3 ,AAC ,AC3)1. MP编码格式特点: 压缩成容量较小的文件...

  • Eclispe(STS)设置UTF-8编码

    1.修改workspace编码 preference--> 2.修改文件编码格式 3.特定文件编码

  • Jekyll 编译后head标签里面的内容错位到body中

    Jekyll神坑 先说说百度到的最多的说法: 文件编码格式问题:UTF-8 without BOM自己检测文件编码...

  • 22

    ——字符编码—— #在python3.x上执行 现在文件的编码格式为utf-8,message为默认的格式Unic...

  • 小程序设置背景图片

    1、直接使用http 2、Base64编码格式 3、定位

  • 微信 Emoji表情 保存Mysql数据库报错

    问题出在编码格式上,Emoji表情是编码格式uft-8mb4,MySQL默认的utf-8mb3,装不下就报错了,所...

  • 怎么把mkv转mp4?mkv转mp4的方法

    mkv不同于DivX、XviD等视频编码格式,也不同于MP3、Ogg等音频编码格式。MKV是为这些音、视频提供外壳...

网友评论

      本文标题:python2->3编码格式坑

      本文链接:https://www.haomeiwen.com/subject/qnembqtx.html