fig*_*uts 5 python encoding python-3.x tensorflow
tf.gfile.GFile() 不接受“编码”参数。从这里我了解到 gfile 仅返回字节流,但现在似乎已更改为:
with tf.gfile.GFile("./data/squad/test1.txt", mode = "rb") as file1:
print(file1.read(n = 2), type(file1.read(n = 2)))
with tf.gfile.GFile("./data/squad/test1.txt", mode = "r") as file1:
print(file1.read(n = 2), type(file1.read(n = 2)))
Run Code Online (Sandbox Code Playgroud)
输出:
b'as' <class 'bytes'>
as <class 'str'>
Run Code Online (Sandbox Code Playgroud)
那么它在读取这些字符串时使用的编码到底是什么?是 utf8 还是像 python 中的开放协议那样依赖于平台?
只是一个,byte-stream所以您需要知道文本的字节编码是什么。
您可以使用库来检测编码并将其用作解码方法。截至今天(2020 年 6 月),用于编码检测的最佳 Python 库之一是由 Mozilla 的优秀人员开发的chardet
pip install chardet
Run Code Online (Sandbox Code Playgroud)
如果您知道是“utf-8”,您可以使用以下命令对其进行解码
pip install chardet
Run Code Online (Sandbox Code Playgroud)