Converti una lista in una stringa in Dart?
-
13-12-2019 - |
Domanda
Ho letto un file e mi sono preso una lista di numeri interi.Per la maggior parte del mio lavoro questo è ciò che voglio ottenere, ma in un caso ho anche bisogno di convertire un po 'di List<int>
in un String
.
Per essere più specificato, voglio codificare la stringa in UTF-8.
Questo è ciò che ho appena provato:
var decoder = new Utf8Decoder(figures);
print(decoder.decodeRest());
.
Ma tutto quello che ottengo è una lista di numeri interi.
Soluzione
String.fromCharCodes(List<int> charCodes)
è probabilmente quello che stai cercando.
List<int> charCodes = const [97, 98, 99, 100];
print(new String.fromCharCodes(charCodes));
. Altri suggerimenti
È possibile utilizzare DART: Converti Library che fornisce un UTF-8 Codec:
import 'dart:convert';
void main() {
List<int> charCodes = [97, 98, 99, 100];
String result = UTF8.decode(charCodes);
print(result);
}
. Come menzionato String.fromCharCodes(List<int> charCodes)
è probabile ciò che stai cercando se si desidera convertire i caratteri Unicode in una stringa.Se tuttavia tutto ciò che volevi era unire l'elenco in una stringa è possibile utilizzare Strings.join(List<String> strings, String separator)
.
Strings.join([1,2,3,4].map((i) => i.toString()), ",")) // "1,2,3,4"
. È possibile utilizzare la libreria dart:convert
che fornisce un codec UTF-8 ma assicurarsi di utilizzare UTF8 tutto piccolo per utilizzare i suoi metodi.
List<int> byteArray = [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100];
String result = utf8.decode(byteArray);
List<int> orginal = utf8.encode(result);
.