Python 将文本添加到文件中,会导致utf-8编码无效,并且在macos上编译失败
我正在使用macOS Big Sur 11.4,我试图编辑一个.c文件并添加一些逻辑,然后用一个Python 将文本添加到文件中,会导致utf-8编码无效,并且在macos上编译失败,python,macos,unicode,utf-8,compiler-errors,Python,Macos,Unicode,Utf 8,Compiler Errors,我正在使用macOS Big Sur 11.4,我试图编辑一个.c文件并添加一些逻辑,然后用一个setup.py文件编译它,该文件如下所示: from distutils.core import setup, Extension module1 = Extension('myfile', sources = ['myfile.c'], extra_link_args = ['-framework', 'IOKit'
setup.py
文件编译它,该文件如下所示:
from distutils.core import setup, Extension
module1 = Extension('myfile',
sources = ['myfile.c'],
extra_link_args = ['-framework', 'IOKit'])
setup (name = 'myfile',
version = '0.1.1',
description = 'test',
ext_modules = [module1])
我试图编辑的文件(myfile.c
)稍后将使用命令行编译和安装:python setup.py install
。到目前为止,一切都很简单
当我编辑代码的任何部分时,甚至在我的.c文件中添加一条简单的注释,如://test
,当我尝试编译时,我收到:
...
myfile.c:625:16: error: source file is not valid UTF-8
<U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><F8><FF><FF><FF><FF><FF><FF>
...
warning: null character ignored [-Wnull-character]
# 1 "<built-in>" 3
...
error: source file is not valid UTF-8
...
。。。
myfile.c:625:16:错误:源文件不是有效的UTF-8
...
警告:忽略空字符[-Wnull字符]
# 1 "" 3
...
错误:源文件不是有效的UTF-8
...
的数量等于我添加的字母、空格、字母等的数量
删除我添加的行“解决”了UTF-8编码问题。
我尝试过但不起作用的事情:
- 我正在使用pycharm编辑文件,因此将文件编码从
文件>文件属性>文件编码更改为
我尝试了几种不同的编码(未包含UTF-8)。都不管用
- 为了确保这不是pycharm问题,我还尝试在XCode和VIM中编辑代码,两者都导致了相同的错误
我用xxd检查了文件hextump,所有内容看起来都很正常实际上,我在hextump中没有看到unicode字符,所以我没有完全解决它,但我找到了解决方法,而且我忘了在这里提到一些重要的东西 实际上,我是从一个虚拟机通过一个虚拟机共享文件夹(VMware Fusion)进行编译的 在我的主机上编码时 无论如何,我没有使用共享,而是使用
scp
复制了文件,然后我就没有编码问题了。。。这个问题还没有完全解决,但现在我可以接受