我正在使用Ubuntu 16.04 (Xenial Xerus)。我发现文本编辑器会向文本文件写入额外的字节 (UTF-8)。当我试图通过测试时,这给我带来了一些问题。
因此,我们有一个字符串“Extra byte”,其大小为 UTF-8 格式的 10 个字节。例如,当我尝试通过gedit将其写入文件时,我得到一个大小为 11 字节的文件。此外,nano 的尺寸相同。即使“echo“额外字节”> 文件名”也会返回 11 个字节。
然而,当我们尝试这样的事情时:
#include <fstream>
int main(){
std::ofstream file("filename");
file<<"Extra byte";
return 0;
}
Run Code Online (Sandbox Code Playgroud)
或这个:
with open("filename_py",'w+',encoding='UTF-8') as file:
file.write('Extra byte')
Run Code Online (Sandbox Code Playgroud)
我们得到大小 = 10 字节的文件。为什么?