写入文件时将一个字节转换为两个字节
One byte converting to two when written to file
我不明白为什么我的代码不起作用。
我正在编写一些非常简单的代码来将单个字节写入文件。
with open("foo.txt", "w+", encoding='utf-8') as f:
f.write('\x80')
正如您在下面看到的,当我只想写一个字节时,它最终写了两个字节...有人可以帮忙吗?
它是 2 个字节,因为 UTF-8 占用 2 个字节的位置,如果将其解码为 UTF-16,您将看到 4 个字节。它们超过 1 个字节,因为你将它写入 UTF 结构,而不是一个字节。
您必须以二进制模式打开它。
with open("foo.txt", "wb+") as f:
f.write(b'\x80')
我不明白为什么我的代码不起作用。 我正在编写一些非常简单的代码来将单个字节写入文件。
with open("foo.txt", "w+", encoding='utf-8') as f:
f.write('\x80')
正如您在下面看到的,当我只想写一个字节时,它最终写了两个字节...有人可以帮忙吗?
它是 2 个字节,因为 UTF-8 占用 2 个字节的位置,如果将其解码为 UTF-16,您将看到 4 个字节。它们超过 1 个字节,因为你将它写入 UTF 结构,而不是一个字节。
您必须以二进制模式打开它。
with open("foo.txt", "wb+") as f:
f.write(b'\x80')