环境是python 3

问题:

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

#coding: utf-8

import 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 = '中文' #指定字符串类型对象u
str = u.encode('gb2312') #以gb2312编码对u进行编码,获得bytes类型对象str
u1 = str.decode('gb2312')#以gb2312编码对字符串str进行解码,获得字符串类型对象u1
u2 = str.decode('utf-8')#如果以utf-8的编码对str进行解码得到的结果,将无法还原原来的字符串内容

最新文章

  1. 【Java并发编程实战】-----“J.U.C”:Exchanger
  2. JS魔法堂:深究JS异步编程模型
  3. Python 第五天 模块(2)
  4. Mysql学习笔记(五)数据查询之测试sql部分。
  5. PHPExcel 导出表格 不知道好不好用
  6. try、catch 和 throw 语句 (了解)
  7. shell总结(0基础入门)
  8. Data Flow ->> Pivot
  9. Android开发代码混淆经验(Eclipse)
  10. 示例:Servlet读取文件内容并在页面打印输出
  11. Java多线程(一) 多线程的基本使用
  12. Google是不是真的不能用了?非常奇怪的问题
  13. 反转字符串的几种实现(Java)
  14. Logstash&Redis&Elasticsearch&Kibana
  15. WebForm 小项目【人员管理系统】分析
  16. Ubuntu 14.04 安装sublime
  17. 历次PCB板修改意见汇总
  18. Qt绘制文本一
  19. 20145309李昊 WEB基础实践
  20. 一起玩转CoordinatorLayout

热门文章

  1. 架构:Eventually Consistent - Revisited
  2. 超感猎杀/超感八人组第一季至二季/全集Sense8迅雷下载
  3. 识骨寻踪第十二季/全集Bones迅雷下载
  4. Python 网络请求模块 urllib 、requests
  5. ubuntu修改软链接
  6. B. Random Teams(Codeforces Round 273)
  7. springmvc学习笔记(13)-springmvc注解开发之集合类型參数绑定
  8. iOS:viewController 和 view 的生命周期、不错的代码设计风格
  9. 微信公众平台开发----自定义菜单、消息处理及获取OpenID(C#)
  10. 【Java】Java-ShutDownHook-优雅关闭系统资源