سؤال
لقد قرأت ملف وحصلت على نفسي قائمة من الأعداد الصحيحة.بالنسبة لمعظم عملي ، هذا ما أريد الحصول عليه ، ولكن في حالة واحدة أحتاج أيضا إلى تحويل بعض List<int>
في String
.
لتكون أكثر تحديدا ، أريد ترميز السلسلة في أوتف-8.
هذا ما جربته للتو:
var decoder = new Utf8Decoder(figures);
print(decoder.decodeRest());
ولكن كل ما أحصل عليه هو قائمة من الأعداد الصحيحة.
المحلول
String.fromCharCodes(List<int> charCodes)
ربما هو ما تبحث عنه.
List<int> charCodes = const [97, 98, 99, 100];
print(new String.fromCharCodes(charCodes));
نصائح أخرى
يمكنك استخدام ثبة: تحويل المكتبة التي توفر الترميز أوتف-8:
import 'dart:convert';
void main() {
List<int> charCodes = [97, 98, 99, 100];
String result = UTF8.decode(charCodes);
print(result);
}
كما ذكر String.fromCharCodes(List<int> charCodes)
من المرجح ما كنت تبحث عنه إذا كنت ترغب في تحويل أحرف يونيكود إلى سلسلة.إذا كان كل ما تريده هو دمج القائمة في سلسلة يمكنك استخدامها Strings.join(List<String> strings, String separator)
.
Strings.join([1,2,3,4].map((i) => i.toString()), ",")) // "1,2,3,4"
يمكنك استخدام dart:convert
المكتبة التي توفر الترميز أوتف-8 ولكن تأكد من استخدام يو تي إف 8 كلها صغيرة لاستخدام أساليبها.
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);