您好,我在写入然后从文件中读取确切数据时遇到问题。
我正在做的是首先将其转换list
为string
然后将其写入文件
S = [63, 16, 13, 30, 22, 13, 99, 68, 75, 91, 73, 80, 90]
现在如果我这样做是为了将它转换成字符串,
UpdatedPlainText = ''.join(chr(s) for s in S)
print("This is the Data:", UpdatedPlainText)
由于in original的两个int
值的存在,数据将被弄乱,这等于13
List
\r
输出:
cDK[IPZ the Data: ?►
我知道这只是这样显示,但原始数据仍然存在。
可以使用它来检索数据,这里数据在打印之前先转换为整数,
L = list(ord(s) for s in UpdatedPlainText)
print(L)
输出:
[63, 16, 13, 30, 22, 13, 99, 68, 75, 91, 73, 80, 90]
但不是直接将数据转换回integer
from String
,如果我先将UpdatedPlainText
in 的值写入文件,
PlainText = open('uText.txt', 'w')
PlainText.write(UpdatedPlainText)
PlainText.close()
然后read
这个文件,
PlainText = open('uText.txt', 'r')
PlainText = PlainText.read()
然后打印文件中的数据,
L = list(ord(s) for s in PlainText)
print(L)
输出会有所不同,
[63, 16, 10, 30, 22, 10, 99, 68, 75, 91, 73, 80, 90]
如您所见,该值13
被替换为10
,这是由于\r
which 等于13
我该如何解决这个问题?我怎样才能防止13
转换成\r