flutter - 在 Dart/Flutter 中将 Uint16List 转换为字符串或整数
问题描述
我正在制作一个应用程序,从 Modbus 协议获取数据。它基本上返回带有整数的数组,我需要将其转换为字符串和整数。
即这应该是一个设备名称
[53440, 11714, 52701, 10449, 14157, 13876, 41, 0, 0, 0, 0, 0, 53440, 11714, 52701, 10449, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
我正在使用 dart:convert 和以下方法
var deviceName = await client.readHoldingRegisters(0x90, 32)
var deviceStr = String.fromCharCodes(deviceName)
结果如下:
타ⷂ췝⣑㝍㘴)
也许我做错了什么或者这是我需要翻译的真实设备名称
要获取设备操作系统版本,我使用以下代码
var version = await client.readHoldingRegisters(0x82, 2);
Result: [264, 0]
如果我把它转移到字符串我得到这个
Ĉ
在 Dart 中将 Uint16List 传输到字符串/整数的正确方法是什么?
解决方案
尝试这个:
final _uint16List = Uint16List.fromList(deviceName);
final _base64String = base64Encode(_uint16List);
推荐阅读
- python - 启用/禁用 QTreeWidget 更新
- syntax - 我不能在一个包中创建嵌套包吗?
- docker - 无法通过本地 ip:port 访问 nomad docker 任务
- java - JList 仅显示 9 项
- jenkins - 使用 jenkins 为每个数据阶段作业创建单个 github 存储库
- kotlin - 如何在模块中使用多泛型?
- c++ - 接口继承
- swift - 调用dismiss方法后如何正确重新加载UIViewController?
- javascript - PHP、JS 查看计数器并保存
- python - AWS - 在部署 EC2 服务器时安装 python 包