转自:http://www.jb51.net/article/105064.htm

password = b'123456'

等价于:

pw = '123456'
password = pw.encode(encoding='utf-8')

  

前言

Python 3 最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分。文本总是 Unicode,由 str 类型表示,二进制数据则由 bytes 类型表示。Python 3 不会以任意隐式的方式混用 str 和 bytes,正是这使得两者的区分特别清晰。你不能拼接字符串和字节包,也无法在字节包里搜索字符串(反之亦然),也不能将字符串传入参数为字节包的函数(反之亦然).

python3.0 中怎么创建 bytes 型数据

  1.  
    >>> bytes([1,2,3,4,5,6,7,8,9])
  2.  
    >>> bytes("python", 'ascii') # 字符串,编码

首先来设置一个原始的字符串,

  1.  
    >>> website = 'http://www.jb51.net/'
  2.  
    >>> type(website)
  3.  
    <class 'str'>
  4.  
    >>> website
  5.  
    'http://www.jb51.net/'

按 utf-8 的方式编码,转成 bytes

  1.  
    >>> website_bytes_utf8 = website.encode(encoding="utf-8")
  2.  
    >>> type(website_bytes_utf8)
  3.  
    <class 'bytes'>
  4.  
    >>> website_bytes_utf8
  5.  
    b'http://www.jb51.net/'

按 gb2312 的方式编码,转成 bytes

  1.  
    >>> website_bytes_gb2312 = website.encode(encoding="gb2312")
  2.  
    >>> type(website_bytes_gb2312)
  3.  
    <class 'bytes'>
  4.  
    >>> website_bytes_gb2312
  5.  
    b'http://www.jb51.net/'

解码成 string,默认不填

  1.  
    >>> website_string = website_bytes_utf8.decode()
  2.  
    >>> type(website_string)
  3.  
    <class 'str'>
  4.  
    >>> website_string
  5.  
    'http://www.jb51.net/'

解码成 string,使用 gb2312 的方式

  1.  
    >>> website_string_gb2312 = website_bytes_gb2312.decode("gb2312")
  2.  
    >>> type(website_string_gb2312)
  3.  
    <class 'str'>
  4.  
    >>> website_string_gb2312
  5.  
    'http://www.jb51.net/'

30-python3 中 bytes 和 string 之间的互相转换的更多相关文章

  1. 【转】python3中bytes和string之间的互相转换

    问题: 比对算法测试脚本在python2.7上跑的没问题,在python3上报错,将base64转码之后的串打印出来发现,2.7版本和3是不一样的:2.7就是字符串类型的,但是3是bytes类型的,形 ...

  2. Python3中bytes和HexStr之间的转换

    1 Python3中bytes和HexStr之间的转换 ByteToHex的转换 def ByteToHex( bins ): """ Convert a byte st ...

  3. python3中bytes与string的互相转换

    首先来设置一个原始的字符串, Python 3.2.3 (default, Apr 11 2012, 07:15:24) [MSC v.1500 32 bit (Intel)] on win32 Ty ...

  4. Python3中内置类型bytes和str用法及byte和string之间各种编码转换,python--列表,元组,字符串互相转换

    Python3中内置类型bytes和str用法及byte和string之间各种编码转换 python--列表,元组,字符串互相转换 列表,元组和字符串python中有三个内建函数:,他们之间的互相转换 ...

  5. Java中InputStream和String之间的转化

    https://blog.csdn.net/lmy86263/article/details/60479350 在Java中InputStream和String之间的转化十分普遍,本文主要是总结一下转 ...

  6. java中Integer 和String 之间的转换

    java中Integer 和String 之间的转换 将数组转换成字符串:char[] array = {'a','b','c','d','e'};String str = new String(ar ...

  7. JAVA中java.util.Date、java.sql.Timestamp和String之间的互相转换

    java.util.Date与的String互转 java.util.Date---->String /** * 将java.util.Date对象转化为String字符串 * @param d ...

  8. javascript基础知识梳理-Number与String之间的互相转换【转】

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. Python3 中bytes数据类型深入理解(ASCII码对照表)

    bytes的来源 bytes 是 Python 3.x 新增的类型,在 Python 2.x 中是不存在的. bytes 的意思是"字节",以字节为单位存储数据.而一个字节二进制为 ...

随机推荐

  1. 在pixi中使用你的自定义着色器

    通过几天的学习,对openGL.shader有了一个大致的了解. 回到学习的初衷吧,在基于pixi.js重构D3项目的时候,因为精灵层级的问题,我得按照一定的先后顺序将不同类别的精灵添加到场景中去. ...

  2. Jenkins部署war包到tomcat7,报错

    1.部署tomcat7,报错,信息如下: [JENKINS] Archiving /opt/.jenkins/jobs/qxpt_jx-deploy/workspace/pom.xml to com. ...

  3. ps/sql developer 登录远程服务器

    Ref PLSQL Developer远程登录的方法

  4. tensorflow中 tf.train.slice_input_producer 和 tf.train.batch 函数

    tensorflow数据读取机制 tensorflow中为了充分利用GPU,减少GPU等待数据的空闲时间,使用了两个线程分别执行数据读入和数据计算. 具体来说就是使用一个线程源源不断的将硬盘中的图片数 ...

  5. 《Java技术》预备作业总结

    Java预备作业总结 第一次的博客作业完成了,对于一种崭新的形式,大家可能还不太适应,学习和借鉴好的理念和学习方式,是我们缩小差距.提升自己的第一步. 关于你期望的师生关系 从幼儿园到大学,大家接触到 ...

  6. fusionjs 学习一 基本试用

    参考demo 项目 https://github.com/rongfengliang/fusionjs-docker-demo 安装 create startkit yarn global add c ...

  7. 几个基于jvm 的微服务框架

    一个简单的整理,留待深入学习 micronaut http://micronaut.io/ sparkjava http://saprkjava.com spring cloud http://pro ...

  8. aop学习

    拦截器和过滤器的区别:https://blog.csdn.net/heyeqingquan/article/details/71482169 1,aop是一个编程思想,不是具体的实现,一般有Filte ...

  9. netty基本组件介绍

    Netty做为一款用于搭建高性能网络应用程序的高级框架,由以下几个主要构件组成: 一.Channel Channel 是java NIO的一个基本构造,可以把channel看作是传入或者传出的数据载体 ...

  10. ANSI和UNICODE编程的注意事项

    建立UNICODE编码工程 在VC60下,默认方式下建立的是ANSI编码的工程(注:编译的exe内部,其资源字符是以UNICODE保存),建立UNICODE编码工程的方法: 1.为工程添加UNICOD ...