2012-07-29 1 views
6

J'ai lu un fichier et me suis procuré une liste d'entiers. Pour la plupart de mon travail c'est ce que je veux obtenir, mais dans un cas, j'ai également besoin de convertir certains de List<int> en String.Convertir une liste <int> en une chaîne dans Dart?

Pour être plus précis, je veux encoder la chaîne en UTF-8.

C'est ce que je viens d'essayer:

var decoder = new Utf8Decoder(figures); 
print(decoder.decodeRest()); 

Mais tout ce que je reçois une liste d'entiers.

Répondre

9

String.fromCharCodes(List<int> charCodes) est probablement ce que vous cherchez.

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

String.fromCharCodes a disparu. UTF8.decode (charCodes) fonctionne. –

4

Comme mentionné String.fromCharCodes(List<int> charCodes) est probablement ce que vous cherchez si vous voulez convertir les caractères unicode dans une chaîne. Si toutefois tout ce que vous vouliez était de fusionner la liste en une chaîne, vous pouvez utiliser Strings.join(List<String> strings, String separator).

Strings.join([1,2,3,4].map((i) => i.toString()), ",")) // "1,2,3,4" 
5

Vous pouvez utiliser la bibliothèque dart:convert qui fournit un codec UTF-8:

import 'dart:convert'; 

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