class_docstr: A format that stores positions, character start and end, and
  per-position boost information in each posting.
  
  Supports: frequency, weight, positions, position_boosts, characters,
  character_boosts.
class_docstr_tok: ["A","format","that","stores","positions",",","character","start","and","end",",","and","per-position","boost","information","in","each","posting",".","Supports",":","frequency",",","weight",",","positions",",","position_boosts",",","characters",",","character_boosts","."]
code: def encode(self, poses):
      fb = self.field_boost
      # posns_chars_boosts = [(pos, startchar, endchar, boost), ...]
      codes = []
      posbase = 0
      charbase = 0
      summedboost = 0
      for pos, startchar, endchar, boost in poses:
          codes.append(
              (
                  pos - posbase,
                  startchar - charbase,
                  endchar - startchar,
                  boost,
              )
          )
          posbase = pos
          charbase = endchar
          summedboost += boost
  
      return (
          (
              pack_uint(len(poses))
              + pack_float(summedboost * fb)
              + dumps(codes, 2)
          ),
          summedboost,
      )
  
imports: from collections import defaultdict
  from whoosh.analysis import unstopped, entoken
  from whoosh.compat import iteritems, dumps, loads, b
  from whoosh.system import emptybytes
  from whoosh.system import _INT_SIZE, _FLOAT_SIZE
  from whoosh.system import pack_uint, unpack_uint, pack_float, unpack_float
label_desc: Use image node_id 2 for calling the CharacterBoosts obj's underlying member method code with example usage: obj.encode(poses) and returns: unknown,  summedboost