今天第一次尝试做Python C的混合编程,尝试做ctype模块,结果一开始做就出现问题。
代码如下:

输出只有一个h。由于我使用的是python3,python3使用的是Unicode编码,但是printf并不支持这种编码,所以需要转码。有三种方法可以解决:
# A 转为byte类型
在字符串前面加b
# B 使用wprintf宽字符显示
# C 转码为utf-8
本文记录了作者首次尝试Python与C语言混合编程的经历,特别是在使用ctypes模块时遇到的问题及解决办法。主要介绍了如何处理Python3的Unicode编码与C语言printf不兼容的情况,并提供了三种解决方案。
今天第一次尝试做Python C的混合编程,尝试做ctype模块,结果一开始做就出现问题。
代码如下:

输出只有一个h。由于我使用的是python3,python3使用的是Unicode编码,但是printf并不支持这种编码,所以需要转码。有三种方法可以解决:
# A 转为byte类型
在字符串前面加b
# B 使用wprintf宽字符显示
# C 转码为utf-8
740
3959

被折叠的 条评论
为什么被折叠?