在过去的几天里,我一直在努力理解为什么这段代码会以这样的方式运行:
代码:
file1 = open("input.txt","r")
M = file1.read()
file1.close()
print(M)
print(M.encode("latin"))
print(type(M.encode("latin")))
print("\n-----------------------------\n")
t = "\xAC\x42\x4C\x45\x54\x43\x48\x49\x4E\x47\x4C\x45\x59"
print(t)
print(t.encode("latin"))
print(type(t.encode("latin")))
文件“input.txt”内容:
\xAC\x42\x4C\x45\x54\x43\x48\x49\x4E\x47\x4C\x45\x59
输出:
\xAC\x42\x4C\x45\x54\x43\x48\x49\x4E\x47\x4C\x45\x59
b'\\xAC\\x42\\x4C\\x45\\x54\\x43\\x48\\x49\\x4E\\x47\\x4C\\x45\\x59'
<class 'bytes'>
-----------------------------
¬BLETCHINGLEY
b'\xacBLETCHINGLEY'
<class 'bytes'>
我不明白的是,如果我从文件中读取同一字符串,或者如果我(用手)在变量中复制它,为什么会以两种不同的方式解释同一字符串。 我知道双“\”可能是我将字符串打印到控制台的结果,但我无法理解发生了什么
目前没有回答
相关问题 更多 >
编程相关推荐