2012-07-29 12 views
6

Ho letto un file e mi sono procurato una lista di numeri interi. Per la maggior parte del mio lavoro questo è quello che voglio ottenere, ma in un caso ho anche bisogno di convertire un po 'di List<int> in un String.Convertire una lista <int> in una stringa in Dart?

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 ottiene è una lista di numeri interi.

risposta

9

String.fromCharCodes(List<int> charCodes) è probabilmente quello che stai cercando.

List<int> charCodes = const [97, 98, 99, 100]; 
    print(new String.fromCharCodes(charCodes)); 
+3

String.fromCharCodes è andato. UTF8.decode (charCodes) funziona. –

4

Come accennato String.fromCharCodes(List<int> charCodes) è probabile quello che stai cercando, se si desidera convertire i caratteri Unicode in una stringa. Se tuttavia tutto ciò che si desiderava 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" 
5

È possibile utilizzare la libreria dart:convert che fornisce un codec UTF-8:

import 'dart:convert'; 

void main() { 
    List<int> charCodes = [97, 98, 99, 100]; 
    String result = UTF8.decode(charCodes); 
    print(result); 
} 
Problemi correlati