首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将字节->字符串->转换回字节,并获取原始值

将字节->字符串->转换回字节,并获取原始值
EN

Stack Overflow用户
提问于 2020-03-29 08:04:15
回答 2查看 166关注 0票数 2

我检查了关于这个问题的所有堆栈溢出问题,没有人能回答我的问题,我需要将\\转换为\

编辑:

这就是我想要做的:

代码语言:javascript
复制
>>> a = b'\xe5jb\x8c?Q$\xf3\x1d\x97^\xfa3O\xa6U.txt'
>>> b = str(a)
>>> b
"b'\\xe5jb\\x8c?Q$\\xf3\\x1d\\x97^\\xfa3O\\xa6U.txt'"
>>> b = b.replace('b\'','')
>>> b = b[:len(b)-1]
>>> b
'\\xe5jb\\x8c?Q$\\xf3\\x1d\\x97^\\xfa3O\\xa6U.txt'
>>> c = bytes(b,'utf8')
>>> c
b'\\xe5jb\\x8c?Q$\\xf3\\x1d\\x97^\\xfa3O\\xa6U.txt'
>>> a == c
False

我如何使a==c成为现实?我试过了

代码语言:javascript
复制
 .replace("\\\\","\\") 

但这没什么用。字符串保持不变。我需要将变量'a‘中的字节作为文本存储到文件中,并将其调用回来。Python-3.8,Windows=10

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-29 08:14:56

可以使用c方法将decode转换为字符串,然后使用b'...'包装后使用ast.literal_eval将其计算为字节文本。

代码语言:javascript
复制
from ast import literal_eval
a = b'\xe5jb\x8c?Q$\xf3\x1d\x97^\xfa3O\xa6U.txt'
c = b'\\xe5jb\\x8c?Q$\\xf3\\x1d\\x97^\\xfa3O\\xa6U.txt'
c = literal_eval("b'%s'" % c.decode())
print(a == c)

输出:True

票数 1
EN

Stack Overflow用户

发布于 2020-03-29 08:09:22

字符串使用.replace()函数

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60911551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档