logHexDump function
Implementation
String logHexDump(String prefix, Object? message, List<int> data, {int rowSize = 16, bool showAscii = true}) {
final str = StringBuffer();
str.writeln(message);
for (int i = 0; i < data.length; i += rowSize) {
str.write('0x');
str.write(i.toRadixString(16).padLeft(6, '0'));
str.write(': ');
for (int j = 0; j < rowSize; j++) {
if (i + j < data.length) {
str.write(data[i + j].toRadixString(16).padLeft(2, '0'));
str.write(' ');
} else
str.write(' ');
}
if (showAscii) {
str.write(' ');
for (int j = 0; j < rowSize; j++) {
if (i + j < data.length) {
final c = data[i + j];
if (c > 32 && c < 256)
str.writeCharCode(c);
else
str.write('.');
}
}
}
str.writeln();
}
final dump = str.toString().trimRight();
logInfo(prefix, dump);
return dump;
}