簡體   English   中英

python將內存視圖轉換為字符串

[英]python convert memoryview to string

我試圖到處搜索,但找不到任何相關信息。

以下代碼的結果:

overlapped = pywintypes.OVERLAPPED()
buffer = win32file.AllocateReadBuffer(1024*4)
fullDataRead = []
hr, data = win32file.ReadFile(handle, buffer, overlapped)
n = win32file.GetOverlappedResult(handle, overlapped, 1)
read = str(data[:n])
fullDataRead.append(read)
print(fullDataRead)

我得到

['<memory at 0x0000026821801348>']

但我需要里面的字符串或字節。 任何想法如何讀取memoryview對象? 謝謝

可以使用.tobytes()memory對象轉換為字符串,如下所示:

a = memoryview(b'mystring')
print(a)  # <memory at 0x10cbebb98>
print(a.tobytes())  # 'mystring'

對於 Python 2.7 和 3.x,你可以試試這個:

a = memoryview(b'mystring')
print(a)  # <memory at 0x10cbebb98>
#for string
print(str(a,'utf8'))  # 'mystring' as UTF-8

# for bytes
print(bytes(a))  # b'mystring'

暫無
暫無

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

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