从文件python中读取字节并转换为字符串

问题描述 投票:0回答:1

我有一个文件,其中包括一些数据,如: \我如何读取这些数据,并在另一个文件中写下字符串格式(አLo_121B "Lo在线观看)?反之亦然?

python file encoding decoding
1个回答
1
投票

这是一个字节字符串,所以你需要把它解码成utf-8的Unicode字符串。

b'\xe1\x8a\xa0\xe1\x88\x9b\xe1\x88\xad\xe1\x8a\x9b'.decode('utf8')  

result: 'አማርኛ'

然后再把它编码成字节串。

'አማርኛ'.encode() 

result: b'\xe1\x8a\xa0\xe1\x88\x9b\xe1\x88\xad\xe1\x8a\x9b'

0
投票

基本上你有一个字节串, 你可以分别用函数 encode() 和 decode() 来做你所说的事情, 在下面的例子中, 我将从打印字节串开始. 然后,我将把这个字节串解码成utf-8(如果你没有自己指定版本,那么在2.7以上的所有python版本中都是默认值)

f = open("input.txt","rb")
x = f.read()
print(x) # b'\xe1\x8a\xa0\xe1\x88\x9b\xe1\x88\xad\xe1\x8a\x9b'
print(x.decode()) # አማርኛ

如果你想进行反向操作,你可以通过对解码后的字节数组进行编码来实现! (请注意,我使用的open函数的参数 "rb "代表(按照wiki的说法) "打开一个只读二进制格式的文件"。

© www.soinside.com 2019 - 2024. All rights reserved.