博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 3使用binascii方法的报错解决
阅读量:6640 次
发布时间:2019-06-25

本文共 659 字,大约阅读时间需要 2 分钟。

环境是python 3

问题:

使用binascii方法一直出现报错TypeError: a bytes-like object is required, not 'str'

#coding: utf-8import binascii a = 'worker' b = binascii.b2a_hex(a) print(b)#b = binascii.b2a_hex(a)#TypeError: a bytes-like object is required, not 'str'

解决方法:

后来修改如下代码才会不报错

b = binascii.b2a_hex(a.encode())

原理:

在新版本的python3中,取消了unicode类型,代替它的是使用unicode字符的字符串类型(str),字符串类型(str)成为基础类型如下所示,而编码后的变为了字节类型(bytes)但是两个函数的使用方法不变:

     decode              encode

bytes ------> str(unicode)------>bytes

u = '中文' #指定字符串类型对象ustr = u.encode('gb2312') #以gb2312编码对u进行编码,获得bytes类型对象stru1 = str.decode('gb2312')#以gb2312编码对字符串str进行解码,获得字符串类型对象u1u2 = str.decode('utf-8')#如果以utf-8的编码对str进行解码得到的结果,将无法还原原来的字符串内容

转载地址:http://jravo.baihongyu.com/

你可能感兴趣的文章
安装CPqD/ofdissector遭遇的错误
查看>>
C++ 顺序容器
查看>>
Linux下安装ElasticSearch 5 和配置外部访问
查看>>
微信授权登录
查看>>
去除多余样式
查看>>
NuGet Package Explorer使用教程下载
查看>>
还有5个月就NOIP2019了,我干了什么
查看>>
(转)linux下和云端通讯的例程, ubuntu和openwrt下实验成功(二)
查看>>
hdu2707
查看>>
oralce 常用sql
查看>>
POJ 2117 (割点+连通分量)
查看>>
计算树形节点间的距离
查看>>
使用 dep 配置 golang 开发环境
查看>>
处理器管理与进程管理
查看>>
质量属性常见的六个属性场景(以淘宝网为例)
查看>>
从B树、B+树、B*树谈到R 树
查看>>
哈尔滨理工大学第七届程序设计竞赛决赛(网络赛-高年级组)D - 数圈圈
查看>>
CodeForces 738E Subordinates
查看>>
postgresql----LIKE和SIMILAR TO
查看>>
日志分析(四) Elasticsearch的精确查询
查看>>