我如何才能摆脱这些“\xb0”一样的字符串

2024-04-26 14:48:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用python和dll从内存中转换一些数据。你知道吗

但是有一些“unicode”的东西让我疯狂地使用struct来“转换”数据。你知道吗

我试过decode('utf-8'),但我遇到了UnicodeDecodeError

我更改了一些结构类型,但没有更改。你知道吗

我怎样才能解决这个问题?你知道吗

class NH0__OutBlock(Structure):
    _fields_ = [
        ("hotime", c_char*6),
        ("hotime1", c_char*6),
        ("offerho1", c_char*6),
        ("bidho1", c_char*6),
        ("offerrem1", c_char*6),
        ("bidrem1", c_char*6),
        ("offercnt1", c_char*5),
        ("bidcnt1", c_char*5),
        ("offerho2", c_char*6),
        ("bidho2", c_char*6),
        ("offerrem2", c_char*6),
        ("bidrem2", c_char*6),
        ("offercnt2", c_char*5),
        ("bidcnt2", c_char*5),
        ("offerho3", c_char*6),
        ("bidho3", c_char*6),
        ("offerrem3", c_char*6),
        ("bidrem3", c_char*6),
        ("offercnt3", c_char*5),
        ("bidcnt3", c_char*5),
        ("offerho4", c_char*6),
        ("bidho4", c_char*6),
        ("offerrem4", c_char*6),
        ("bidrem4", c_char*6),
        ("offercnt4", c_char*5),
        ("bidcnt4", c_char*5),
        ("offerho5", c_char*6),
        ("bidho5", c_char*6),
        ("offerrem5", c_char*6),
        ("bidrem5", c_char*6),
        ("offercnt5", c_char*5),
        ("bidcnt5", c_char*5),
        ("totofferrem", c_char*6),
        ("totbidrem", c_char*6),
        ("totoffercnt", c_char*5),
        ("totbidcnt", c_char*5),
        ("futcode", c_char*8)
    ]
...
# RealMsgPacket.contents.pszData Type is ctypes.c_char_p
elif RealMsgPacket.contents.szTrCode.decode('euc-kr') == "NH0":
            Casted = cast(RealMsgPacket.contents.pszData, POINTER(c_char*int(RealMsgPacket.contents.nDataLength)))
            print(Casted.contents.value.strip())
...
b'035822 275822 028345\xb0028340\xb0000012 000019 00004 00016 028350\xb0028335\xb0000014 000025 00007 00022 028355\xb002
8330\xb0000007 000020 00004 00015 028360\xb0028325\xb0000007 000022 00005 00011 028365\xb0028320\xc0000010 000037 00010
00015 000050 000123 00030 00079 101PC000'

Tags: 数据内存contentsunicodestructutfdlldecode