python中为啥从str到bytes的转化会出现类似' \x** '的形式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中为啥从str到bytes的转化会出现类似' \x** '的形式相关的知识,希望对你有一定的参考价值。

代表\x代表代表什么意思?

字节码(英语:Bytecode)通常指的是已经经过编译,但与特定机器码无关,需要直译器转译后才能成为机器码的中间代码。字节码通常不像源码一样可以让人阅读,而是编码后的数值常量、引用、指令等构成的序列。
字节码主要为了实现特定软件运行和软件环境、与硬件环境无关。字节码的实现方式是通过编译器和虚拟机器。编译器将源码编译成字节码,特定平台上的虚拟机器将字节码转译为可以直接执行的指令。

    除了你最终好奇的"\\x"之外,应该都不难理解:三个字节码对应了一个汉字.

    "\\x"是PEP也就是Python开发团队所采用的Bytecode标识,无实际含义.

参考技术A 十六进制的意思啊。。 参考技术B 这个就是utf-8编码格式的bytes表示呀

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** '的形式的主要内容,如果未能解决你的问题,请参考以下文章

python3.x中str,bytes类型相关转化

Day 3 python入门拾遗篇:bytes和str转化;三元运算;进制转化

Python str / bytes / unicode 区别详解

python 中将str类型转化为int

python中unicode 和 str相互转化

Python23解释器中字符串中的区别