如何解决通过逗号分隔的十六进制字符串进行迭代并在 dart/flutter 中对其进行解码的函数
我需要一些帮助来处理我正在尝试编写的 dart/flutter 函数。
有一堆由逗号分隔并连接在一起的 HEX 编码字符串 String
。
例如:
String input = 'HexEncodedStr1,HexEncodedStr2,HexEncodedStr3'
我需要解码每个字符串并以相同的逗号分隔形式输出它们:
String output = 'HexDecodedStr1,HexDecodedStr2,HexDecodedStr3'
目前,我使用 hex.dart
包作为字符串解码器,但在使用 hex.dart
解码之前,我很难将每个编码的字符串分开:
import 'package:hex/hex.dart';
//The decode function
String decode(hexString) {
if (hexString != "") {
hexString = HEX.decode(hexString);
return hexString;
} else {
return "N/A";
}
}
void main() {
String test = decode('776f726c64,706c616e65740d0a');
print(test); //world,planet
}
解决方法
分割字符串然后连接解码部分怎么样?
void main() {
final decoded = '776f726c64,706c616e65740d0a'
.split(',')
.map(decode)
.join(',');
print(decoded); //world,planet
}
,
你可以使用 string.split(",");
https://api.flutter.dev/flutter/dart-core/String/split.html
String input = 'HexEncodedStr1,HexEncodedStr2,HexEncodedStr3'
var inputSplit = input.split(",");
现在你有一个子串列表。我认为你可以使用 for 循环或 foreach。
inputSplit.forEach((element) => print(decode(element);));
或:
for(var i = 0; i < inputSplit.length; i++)
{
var oneHex = decode(inputSplit[i]);
print(oneHex);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。