stringToRadix static method

String stringToRadix(
  1. String string, {
  2. int radix = 2,
  3. String separadorPalavras = " ",
  4. String separadorBits = ".",
})

Example: Binary print(12.toRadixString(2)); // 1100 print(31.toRadixString(2)); // 11111 Octal print(12.toRadixString(8)); // 14 print(31.toRadixString(8)); // 37 Hexadecimal print(12.toRadixString(16)); // c print(2021.toRadixString(16)); // 7e5 Base 36 print((35 * 36 + 1).toRadixString(36)); // z1

Implementation

static String stringToRadix(
  String string, // String a ser convertida
  {
  int radix = 2, // Base da conversão
  String separadorPalavras = " ", // Separador de palavras
  String separadorBits = ".", // Separador de bits
}) {
  // Lista de palavras
  List palavras = string.trim().split(separadorPalavras);
  // Lista de palavras convertidas
  List palavrasBinario = [];
  // Percorre as palavras
  for (String palavra in palavras) {
    // Lista de bits
    List binLetras = [];
    // Percorre as letras
    for (int i = 0; i < palavra.length; i++) {
      // Converte a letra para binário
      String binLetra = palavra.codeUnitAt(i).toRadixString(radix);
      // Adiciona o bit à lista
      binLetras.add(binLetra);
    }
    // Junta os bits e adiciona a lista de palavras convertidas
    palavrasBinario.add(binLetras.join(separadorBits));
  }
  // Junta as palavras convertidas e retorna
  return palavrasBinario.join(separadorPalavras);
}