decodeByLength method
Implementation
List<int> decodeByLength(
{required List<int?> tmpArr, required List<int> op}) {
final s0 = tmpArr[0];
final s1 = tmpArr[1];
final s2 = tmpArr.length <= 2 ? null : tmpArr[2];
final s3 = tmpArr.length <= 3 ? null : tmpArr[3];
var c0 = 0;
var c1 = 0;
var c2 = 0;
List<int> _op = [...op];
if (s3 != null) {
c0 = s0! << 2 | s1! >> 4;
c1 = ((s1 << 4) & 0xf0) | (s2! >> 2);
c2 = ((s2 << 6) & 0xff) | s3;
_op.add(c0);
_op.add(c1);
_op.add(c2);
} else if (s2 != null) {
c0 = s0! << 2 | s1! >> 4;
c1 = ((s1 << 4) & 0xf0) | s2;
_op.add(c0);
_op.add(c1);
} else if (s1 != null) {
c0 = s0! << 2 | s1;
_op.add(c0);
} else {
c0 = s0!;
_op.add(c0);
}
return _op;
}