github.com/uuosio/chaintester@v0.0.0-20230731100329-1f6fad7372e5/eoslib.go (about)

     1  package chaintester
     2  
     3  var (
     4  	charmap = []byte(".12345abcdefghijklmnopqrstuvwxyz")
     5  )
     6  
     7  func N2S(value uint64) string {
     8  	// 13 dots
     9  	str := []byte{'.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.'}
    10  
    11  	tmp := value
    12  	for i := 0; i <= 12; i++ {
    13  		var c byte
    14  		if i == 0 {
    15  			c = charmap[tmp&0x0f]
    16  		} else {
    17  			c = charmap[tmp&0x1f]
    18  		}
    19  		str[12-i] = c
    20  		if i == 0 {
    21  			tmp >>= 4
    22  		} else {
    23  			tmp >>= 5
    24  		}
    25  	}
    26  
    27  	i := len(str) - 1
    28  	for ; i >= 0; i-- {
    29  		if str[i] != '.' {
    30  			break
    31  		}
    32  	}
    33  	return string(str[:i+1])
    34  }