python3 ctypes printf
#coding=utf-8 from ctypes import *; from platform import *; cdll_names = { 'Linux' :'libc.so.6', 'Windows':'msvcrt.dll' } system_name = system() #libc = cdll.LoadLibrary( cdll_names[system_name]) libc = CDLL( cdll_names[system_name]) msg = "Hello, world!\n" libc.printf(msg) # encode和decode提供 str 和 unicode 这两种的类型的互相转化。 # encode 把 unicode 转化成 str(byte string) # decode 把 str(byte string) 转化成 unicode msvcrt = cdll.msvcrt # 直接编码成二进制 msvcrt.printf(b'%s',b'hello\n') # 使用wprintf宽字符显示 msvcrt.wprintf("hello\n") # 转码成UTF8、GBK编码 str = "中国string encode with Unicode\n" print(str) msvcrt.printf(str.encode('gbk')) #输出: 中国string encode with Unicode msvcrt.printf(str.encode('utf-8')) #输出: 涓浗string encode with Unicode # s = create_string_buffer(64) msvcrt.sprintf(s,b"%s %d",b"hello",123) print(s.value.decode('utf-8')) print(s.value.decode()) # 参考: # http://python.jobbole.com/86670/ # http://blog.sina.com.cn/s/blog_4a94a0db010136oj.html
联系方式:heshengjun@tinywsn.com