2013-04-09 47 views
0

我試圖在python 3.3中使用C字符指針數據類型。我用下面的代碼:在python中使用c數據類型與ctypes

from ctypes import * 

    firstname = c_char_p("I am a noob programmer".encode("utf-8")) 
    print(firstname.value) 

我所需的輸出是

I am a noob programmer 

但我得到的是

b'I am a noob programmer' 

我下面的Python 2.6製作的教程。我使用「ascii」作爲編碼函數的參數。並且還嘗試了「字節()」而不是編碼。但是在任何時候都沒有什麼區別。爲什麼我不能得到我想要的結果?以及如何根據需要獲得輸出。

請人幫助我理解..

+3

輸出對於Python 3是正確的。如果您希望看到與教程相同的輸出,請使用Python 2.6。 – 2013-04-09 13:15:09

回答

1

在Python 3,你需要的,如果你想讓它表現得像str到回str解碼。

print(firstname.value.decode("utf-8"))