python中为啥从str到bytes的转化会出现类似' \x** '的形式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中为啥从str到bytes的转化会出现类似' \x** '的形式相关的知识,希望对你有一定的参考价值。
代表\x代表代表什么意思?
字节码(英语:Bytecode)通常指的是已经经过编译,但与特定机器码无关,需要直译器转译后才能成为机器码的中间代码。字节码通常不像源码一样可以让人阅读,而是编码后的数值常量、引用、指令等构成的序列。字节码主要为了实现特定软件运行和软件环境、与硬件环境无关。字节码的实现方式是通过编译器和虚拟机器。编译器将源码编译成字节码,特定平台上的虚拟机器将字节码转译为可以直接执行的指令。
除了你最终好奇的"\\x"之外,应该都不难理解:三个字节码对应了一个汉字.
"\\x"是PEP也就是Python开发团队所采用的Bytecode标识,无实际含义.
python3.x中str,bytes类型相关转化
在研究Python3.x的过程中,遇到的一个纠结了我几天的问题:总是提示“a bytes-like object is required,not ‘str‘ ”
在python3.x里增加了bytes类型,并且对str方法进行了修改,让str类型和bytes类型可以相互转换。
#!/usr/bin/env python
#-- coding:utf-8 --a = "哈哈"
#字符串转换成字节
b = bytes(a,encoding=‘utf-8‘)
print(b)
b1 = bytes(a,encoding=‘gbk‘)
print(b1)#将字节转换成字符
c=str(b,encoding=‘utf-8‘)
print(c)c1=str(b1,encoding=‘gbk‘)
print(c1)
以上是关于python中为啥从str到bytes的转化会出现类似' \x** '的形式的主要内容,如果未能解决你的问题,请参考以下文章
Day 3 python入门拾遗篇:bytes和str转化;三元运算;进制转化