toCustomString method

String toCustomString([
  1. String? enc,
  2. int? start,
  3. int? end
])

Implementation

String toCustomString([String? enc, int? start, int? end]) {
  enc ??= 'utf8';
  start ??= 0;
  final length = this.length;
  if (enc == 'hex') {
    final buf = Uint8List.fromList(this);
    final num = ((end != null ? end + 1 : null) ?? length) - start;
    var res = '';
    for (var i = 0; i < num; i++) {
      res += buf[i + start].toRadixString(16).padLeft(2, '0');
    }
    return res;
  }
  if (enc == 'utf8') {
    final num = (end ?? length) - start;
    var res = '';
    for (var i = 0; i < num; i++) {
      res += String.fromCharCode(this[i + start]);
    }
    return res;
  }
  if (enc == 'base64') {
    return SearBase64.btob(this);
  }
  return "";
}