こんにちは、ファイルから正確なデータを書き込んだり読み取ったりするのに問題があります。
私がやっていることは、最初にをに変換し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の2 つの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
最初に in の値をUpdatedPlainText
ファイルに書き込むと、
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
が に等しいためです。13
この問題を解決するにはどうすればよいですか? 13
への変換を防ぐにはどうすればよいですか\r