Кодировать имя Netbios python

Я хотел бы закодировать "ITSATEST" в его значение имени netbios в python; Таблица вхождения и объяснение находятся здесь: http://support.microsoft.com/kb/194203

Я не знаю, как это может быть легко сделано в Python, кто-то может мне помочь?

Спасибо!

2 ответа

Решение

Вы можете отобразить каждый кусочек исходной строки, взяв его числовое значение и смещение от "A":

encoded_name = ''.join([chr((ord(c)>>4) + ord('A'))
                        + chr((ord(c)&0xF) + ord('A')) for c in original_name])

Взгляните на RFC 1001, который определяет кодировку. В разделе 14.1 "КОДИРОВАНИЕ ПЕРВОГО УРОВНЯ" представлен алгоритм кодирования, который вы можете реализовать непосредственно в Python.

Другие вопросы по тегам