在Python中编码Netbios名称

2 投票
2 回答
2389 浏览
提问于 2025-04-15 17:23

我想把“ITSATEST”这个字符串转换成它的netbios名称值,使用Python来实现;相关的出现表和解释在这里:

http://support.microsoft.com/kb/194203

我不知道怎么在Python中简单地做到这一点,有人能帮帮我吗?

谢谢!

2 个回答

1

你可以看看 RFC 1001,这个文档定义了编码的方式。在第14.1节“第一层编码”中,有一个编码的算法,你可以直接用Python来实现这个算法。

2

你可以把原始字符串的每个半字节(也就是4个二进制位)进行映射,先获取它的数字值,然后再从字母'A'开始进行偏移。

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

撰写回答