示例#1
0
 def PrefixForByteCount(this, s, maxbytecount):
     #print "maxbytecount is", maxbytecount
     if len(s) < 1:
         return u""
     (bytes, count) = ENCODER(s)
     while len(bytes) > maxbytecount:
         s = s[:-1]
         (bytes, count) = ENCODER(s)
     return s
示例#2
0
 def dump(this):
     allbytes = []
     keys = this.keys
     values = this.values
     for index in xrange(len(this.keys)):
         thisKey = keys[index]
         thisValue = this.values[index]
         keyPrefix = BufferFile.StoreInt(len(thisKey))
         (keybytes, dummy) = ENCODER(thisKey)
         allbytes.append(keyPrefix)
         allbytes.append(keybytes)
         valuePrefix = BufferFile.StoreInt(len(thisValue))
         (valuebytes, dummy) = ENCODER(thisValue)
         allbytes.append(valuePrefix)
         allbytes.append(valuebytes)
     #print allbytes
     return string.join(allbytes, "")
示例#3
0
 def PrefixForByteCount(this, s, maxbytecount):
     import md5
     if type(s) is types.UnicodeType:
         (s, dummy) = ENCODER(s)
     d = md5.new(s).digest()
     #result = d[:maxbytecount]
     resultL = []
     ld = len(d)
     for x in xrange(maxbytecount):
         b = ord(d[x % ld])
         #b = b % 127
         if b > 127:
             b = 256 - b
         b = b % 79 + 40
         resultL.append(chr(b))
     result = "".join(resultL)
     return result
示例#4
0
 def __setitem__(this, key, value):
     if type(value) is not types.UnicodeType:
         (value, dummy) = DECODER(value)
     (bvalue, dummy) = ENCODER(value)
     this.xByteSet(key, bvalue)