【问题标题】:encode Netbios name python编码 Netbios 名称 python
【发布时间】:2009-12-27 03:32:07
【问题描述】:

我想在 python 中将“ITSATEST”编码为它的 netbios 名称值; 出现表和解释在这里: http://support.microsoft.com/kb/194203

我不知道如何在 python 中轻松做到这一点,有人可以帮我吗?

谢谢!

【问题讨论】:

    标签: python netbios


    【解决方案1】:

    您可以映射原始字符串的每个半字节,取其数值并从 'A' 偏移:

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

    【讨论】:

    • @joshperry,我介绍了第一个,因为它很容易理解(并且在我的大脑正在研究第二个时很容易写出来)。鉴于您和@helpmenet 对“更智能”的第二种解决方案的支持,我已将其删除。
    【解决方案2】:

    看看RFC 1001,它定义了编码。 14.1节“FIRST LEVEL ENCODING”是编码算法,可以直接用Python实现。

    【讨论】:

    • 和MS链接一模一样!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-06
    • 1970-01-01
    • 2017-01-28
    • 2023-04-09
    • 2011-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多