迭代逗号分隔的十六进制字符串并在 dart/flutter 中解码它们的函数

Function to iterate trough comma separated hex strings and decode them in dart/flutter

我需要一些关于 dart/flutter 我正在尝试编写的函数的帮助。

有一堆十六进制编码的字符串,用逗号分隔并连接在一起 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);
 }