toHex method
Implementation
String toHex() {
if (length == 0) {
return "";
}
Uint8List result = Uint8List(length << 1);
var hexTable = [
'0',
'1',
'2',
'3',
'4',
'5',
'6',
'7',
'8',
'9',
'A',
'B',
'C',
'D',
'E',
'F'
]; //16进制字符表
for (var i = 0; i < length; i++) {
var bit = this[i]; //取传入的byteArr的每一位
var index = bit >> 4 & 15; //右移4位,取剩下四位
var i2 = i << 1; //byteArr的每一位对应结果的两位,所以对于结果的操作位数要乘2
result[i2] = hexTable[index].codeUnitAt(0); //左边的值取字符表,转为Unicode放进resut数组
index = bit & 15; //取右边四位
result[i2 + 1] =
hexTable[index].codeUnitAt(0); //右边的值取字符表,转为Unicode放进resut数组
}
return String.fromCharCodes(result); //Unicode转回为对应字符,生成字符串返回
}