溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python3幾個常見問題的處理方法

發(fā)布時間:2020-09-30 20:14:02 來源:腳本之家 閱讀:162 作者:iteye_6192 欄目:開發(fā)技術(shù)

1. 編碼問題:

遇到了幾個字符串轉(zhuǎn)換問題,總結(jié)如下:

# str to bytes 
str.encode(s)
# bytes to str 
bytes.decode(b)

判斷編碼方式可用chardet模塊的chardet.detect(content)來協(xié)助。

2. char *有地址取內(nèi)容:

strcontent = string_at(addr, -1)

3. 從動態(tài)鏈接庫中獲取函數(shù)并調(diào)用ctypes

from ctypes import *
dll = CDLL("YourAPP.dll")
dll.YourFunction()

4. 從dll中調(diào)用c程序,返回char*的情況處理

本來在32位下用string_at就可以解決,但是換成64位后內(nèi)存訪問出錯。所以改用restype,終于解決。

#32位可行,64位出錯:
result = dll.function()
result = string_at(result, -1)
print(result)
#后來改成用restype,32位/64位通用
dll.function.restype = c_char_p
result = dll.function()
print(result)

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內(nèi)容請查看下面相關鏈接

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI