Есть ли в C # эквивалентная функция для binascii.b2a_hex Python? - PullRequest
0 голосов
/ 15 октября 2019

Я пытаюсь перенести некоторый код с сервера Python, который использует binascii.b2a_hex. Я не знаю ни одного эквивалента C #. Какая функция в C # дала бы мне тот же результат?

Я посмотрел в Интернете, чтобы узнать, если у кого-то есть такой же вопрос, но он еще никого не нашел. Я даже искал сторонние библиотеки. Я сделал так, чтобы мое приложение получало результат из скрипта Python, но я хотел достоверно перенести код.

def send_withlen(self, data, log = True) :
    lengthstr = struct.pack(">L", len(data))
    if log :
        logging.debug(str(self.address) + ": Sent data with length - " + binascii.b2a_hex(lengthstr) + " " + binascii.b2a_hex(data))
    totaldata = lengthstr + data
    totalsent = 0
    while totalsent < len(totaldata) :
        sent = self.send(totaldata, False)
        if sent == 0:
            raise RuntimeError, "socket connection broken"
        totalsent = totalsent + sent

Вот пример некоторых строк отладки логгера, показывающих формат вывода из функции:

2019-10-15 00:03:14,220 root         DEBUG    ('192.168.0.17', 59176): Sent data with length - 0000010a 01500a010000000000000400040000000c0000001200000004000400000005000000120000000400040000000000000003000000040004000000060000000e00000004000400000004000000110000000400040000000a000000110000000400040000000b000000626172000400040000000f0000000e0100000400040000000200000057000000040004000000030000000000000004000400000009000000666f6f0004000400000007000000626f6f000400040000000d000000666f6f0004000400000008000000fb0000000400240000000e000000015024000000000000000300040000006361631a00000003000400000063617308000000040004000000010000000e000000

2019-10-15 00:03:14,292 dirsrv       INFO     ('192.168.0.17', 59178): Sending out list of content list servers
2019-10-15 00:03:14,293 root         DEBUG    ('192.168.0.17', 59178): Sent data with length - 00000008 0001c0a800119d69
...