You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Dart中将String转换为char[]?转换List<char>失败

在Dart中将String转为单个字符的List

Dart里并没有专门的char类型,单个字符本质是长度为1的String,所以你要实现的其实是将String转为List<String>,每个元素对应原字符串的单个字符。

下面是两种常用的实现方式:

方法一:使用split('')(适合普通ASCII字符)

这是最直接的方式,通过空字符串拆分原字符串:

String input = "Hello Dart";
List<String> charList = input.split('');
// 输出结果:['H', 'e', 'l', 'l', 'o', ' ', 'D', 'a', 'r', 't']

方法二:使用runes处理Unicode扩展字符(比如Emoji、特殊符号)

如果你的字符串包含多字节的Unicode字符(比如😊、𝄞这类),split('')会将它们拆分成多个无效的码元,这时候用runes遍历每个Unicode码点再转换:

String input = "Hi 😊";
List<String> charList = input.runes.map((rune) => String.fromCharCode(rune)).toList();
// 输出结果:['H', 'i', ' ', '😊']

你之前尝试转换为char类型的List失败,核心原因就是Dart不存在char类型,换成List<String>就能解决问题。

内容的提问来源于stack exchange,提问作者Manewow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 11:02:40