我正在尝试编写向后兼容的代码,该代码涉及从磁盘读取一些数据,包括UTF-8字符串,将其作为字符串处理,然后将其写回磁盘。对我有用的唯一方法是:
val=fh.read(n)
str(val.decode("utf-8"))
这看起来真的很冗长,但我尝试的其他一切都无法在2.x或3.x中失败。有更简洁的方法吗?
这将生成一个字节数组,而不是3.x
上的字符串 str(val)
这在2.x(没有第二个参数)上失败
str(val,"utf-8")
当我尝试将值写回2.x(“期望的字符串,得到unicode”)时,这会失败:
val.decode("utf-8")
尝试了几种组合,但没有运气。这真的是唯一的方法吗?