簡體   English   中英

從ctypes的c_char_p中檢索字符串

[英]Retrieve the string from ctypes's c_char_p

在Python中,我有一個ctypes.c_char_p的字符串,'Hello,world'。 似乎python會自動將其編碼為一個數字(請參閱下面的ipython控制台)。 如何從ctypes.c_char_p對象中檢索字符串,即“Hello,world”?

In [45]: from ctypes import c_char_p

In [46]: c_char_p("Hello, World")
Out[46]: c_char_p(4508383228)

正如在注釋中已經提到的那樣,雖然可能沒有某些可能需要的那樣明確,但.value屬性從ctypes.c_char_p轉換為Python字符串。

此代碼將Python字符串ctypes.c_char_pctypes.c_char_p ,然后返回到Python字符串:

>>> p = c_char_p("Hello, World")
>>> p
c_char_p(140323010068388)
>>> type(p)
<class 'ctypes.c_char_p'>
>>> s = p.value
>>> s
'Hello, World'
>>> type(s)
<type 'str'>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM