记忆角落

  • {{ item.name }}
  • 首页
  • 关于
  • 归档
  • 邻居
  • 捐赠

类似Java中hashcode函数(python)

  • 郭良俊只狗
  • 2021-09-17
  • 0
class GetHashCode:
    """
    类似 Java中hashcode函数
    java实现:
        ID = String.valueOf(Math.abs((this.OMC_IP + this.FTP_PORT + this.FILE_PATH).hashCode()))
    """
    def convert_n_bytes(self, n, b):
        bits = b * 8
        return (n + 2 ** (bits - 1)) % 2 ** bits - 2 ** (bits - 1)

    def convert_4_bytes(self, n):
        return self.convert_n_bytes(n, 4)

    @classmethod
    def getHashCode(cls, s):
        h = 0
        n = len(s)
        for i, c in enumerate(s):
            h = h + ord(c) * 31 ** (n - 1 - i)
        return cls().convert_4_bytes(h)
© 2012 - 2023 记忆角落 网站统计
Theme by Wing
粤ICP备14056850号-1 又拍云CDN赞助