类似Java中hashcode函数(python)

/ 4评 / 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)

4条回应:“类似Java中hashcode函数(python)”

  1. 马内说道:

    网站每日ip 1千,交换友链,https://money1.us/521

  2. 马内说道:

    很少有人喜欢看代码,一般网民都是非it人士。生活类博客 人气更高

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注