簡體   English   中英

將Word8轉換為[Word8]

[英]Ptr Word8 to [Word8]

我正在使用庫Network.Pcap ,它具有toBS的功能

toBS :: (PktHdr, Ptr Word8) -> IO (PktHdr, B.ByteString)
toBS (hdr, ptr) = do
    let len = hdrCaptureLength hdr
    s <- B.create (fromIntegral len) $ \p -> B.memcpy p ptr (fromIntegral len)
    return (hdr, s)

現在,我正在打開ByteString的包裝,這給了我所需的[Word8] 我正在尋找避免解壓ByteString並直接獲取[Word8]

(1)這個功能存在嗎? (2)如果沒有,請問我如何進行操作?

我對那些庫不熟悉,但是您不能這樣做嗎?

import Foreign.Marshal.Array

toByteList :: PktHdr -> Ptr Word8 -> IO [Word8]
toByteList hdr ptr = peekArray (fromIntegral (hdrCaptureLength hdr)) ptr

暫無
暫無

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

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