标题上写的这个问题,应该是大多数在使用C++调用python的博友会遇到的一个问题。
为什么英文字符串是可以的,但是使用中文字符串时,为什么会出现乱码的现象?
原因:vs环境下使用的是Unicode编码,而python下的是utf-8编码。在vs环境中,是不支持utf-8的显示的。所以会出现乱码
1:当传入中文字符串时,需要对该字符串进行unicode到utf-8的转码。
传入的参数是:
python C++
s const char*类型
2:当接收返回的字符串时,需要进行utf-8到unicode的转码。
python C++
s const char*类型
两个编码类型的转换,在"类型转换"中有显示。可以查看