2
int PyRun_SimpleString(const char *command)
是可以運行Python命令的函數。從具有特定編碼的C代碼運行python命令
我在我的程序中調用了這個函數,但是如何指定command
參數的編碼。我發現在運行命令時,Python 3似乎使用UTF-8作爲默認編碼。我可以在C級API中更改此編碼嗎? ...或者在撥打PyRun_SimpleString
類似功能時附加參數?
int PyRun_SimpleString(const char *command)
是可以運行Python命令的函數。從具有特定編碼的C代碼運行python命令
我在我的程序中調用了這個函數,但是如何指定command
參數的編碼。我發現在運行命令時,Python 3似乎使用UTF-8作爲默認編碼。我可以在C級API中更改此編碼嗎? ...或者在撥打PyRun_SimpleString
類似功能時附加參數?
您可以預先準備的PEP 263到您的命令中描述的「神奇的意見」之一:
char buf[1024];
snprintf(buf, sizeof(buf), "-*- coding: %s -*-\n", yourEncoding);
strncat(buf, yourCommand, sizeof(buf) - strlen(buf) - 1);
PyRun_SimpleString(buf);
嗯,好吧,那確實是一個解決辦法。 – winterTTr 2010-11-22 09:55:34
但我認爲這有點不方便,對吧?我只想要一種特定編碼的方式,我可以永遠使用它,有沒有這種功能? – winterTTr 2010-11-22 09:57:20
@winterTTr,據我所知,這是做到這一點的唯一方法...... – 2010-11-22 10:04:18