def METHOD_NAME(dat):
    """encodes a list of fractional coordinate as strings (stricly on (-1,1))
    to an string for saving to db, to be decoded by  decode_farray()
    preserves precision to slightly better than 6 digits
    """
    work = []
    for d in dat:
        if d == '?':
            work.append(2) # out-of-bounds as '?'
        elif d == '.':
            work.append(3) # out-of-bounds as '.'
        else:
            if '(' in d or '(' in d:
                d = d.replace(')', ' : ').replace('(', ' : ')
                d = d.split(':')[0].strip()
            try:
                fval = float(d)
            except ValueError:
                d  = '0'
            work.append(d)
    x = (farray_scale*np.array([float(x) for x in work])).round()
    return b64encode(x.astype(np.int32).tobytes()).decode('ascii')