stringToRadix static method
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);
}