ble数据写入的数据格式问题

问题遇到的现象和发生背景

我准备用write方法,写入ble一段特定格式的数据,后面要加上低8位校验和,
我把数据和转成16进制,再用& 0xff的方法取低8位,但但int数据通过16进制转化后就成了String格式,无法再进行取低8位的操作。
另外write方法要求的数据是int的list,但int数据通过16进制转化后也就无法成为write的正确格式数据,
我在网上找了一段把String转化成List的代码,但不知道能不能有效。
哪位兄弟帮我看一下,谢谢。

用代码块功能插入代码,请勿粘贴截图
//转化为16进制
var b0 = 31;
var b1 = warmGearNum.toRadixString(16);
var b1Int = warmGearNum;
var b2 = warmTimeNum.toRadixString(16);
var b2Int= warmTimeNum;
var b3 = warmPeriodTimeNum;
var b4 = warmPauseTimeNum;
//校验和,2-7相加后取低8位
var a = b0+b1Int+b2Int+b3+b4;
var checkSum16= a.toRadixString(16);
var checkSum = checkSum16 & 0xff;
//String 转化为 List
String str = '[0xff,0x$b0,0x$b1,0x$b2,0x$b3,0x$b4,0x00,0x$checkSum]';
List<int> strList = <int>[];
for (var data in JsonDecoder().convert(str)){
  strList.add(data);
}
运行结果及报错内容

未运行,这是项目中间的一段代码,实现写入ble功能。

我的解答思路和尝试过的方法

解答思路在上文已经有说明。

我想要达到的结果

正确输出校验和,正确转化为write可支持数据格式。