def utf8.lead.multi
bend-kit-encoding@0.5.0.0 · encoding.bend:80
import bend-kit-encoding@0.5.0.0/encoding.bend as Encoding
import Base
80def utf8.lead.multi(+b: U32, out: String) -> Utf8:
81 +need = Bool.pick(U32, U32.is_lt(b, 224), 1, Bool.pick(U32, U32.is_lt(b, 240), 2, 3))
82 +lo = Bool.pick(U32, U32.is_eq(b, 224), 160, Bool.pick(U32, U32.is_eq(b, 240), 144, 128))
83 +hi = Bool.pick(U32, U32.is_eq(b, 237), 159, Bool.pick(U32, U32.is_eq(b, 244), 143, 191))
84 Utf8{need, lo, hi, U32.and(b, U32.shrn(63, U32.to_nat(need))), out}