Flutter:如何检测并显示字符串中的Unicode转义字符
在Flutter中正确显示含Unicode转义字符的字符串
你的字符串中包含的u00e4是Unicode码点的文本形式(缺少反斜杠前缀),Flutter默认不会自动解析这种格式,需要手动转换后再在Text组件中使用。
解决方法
实现一个辅助函数来解析这类转义序列:
String parseUnicodeEscapes(String input) { return input.replaceAllMapped( RegExp(r'u([0-9a-fA-F]{4})'), (match) => String.fromCharCode(int.parse(match.group(1)!, radix: 16)), ); }
使用示例
// 原始字符串 String originalText = "kapazitu00e4tsorientierte"; // 解析Unicode转义 String decodedText = parseUnicodeEscapes(originalText); // 在Text组件中渲染 Text(decodedText)
执行后,Text组件会正确显示为:kapazitätsorientierte
补充说明
如果你的字符串原本是带反斜杠的标准Unicode转义(比如"kapazit\u00e4tsorientierte"),Flutter会自动识别并解析,无需额外处理。只有当转义序列以纯文本uXXXX形式存在时,才需要用上述方法转换。
内容的提问来源于stack exchange,提问作者Faisal M
相关产品推荐
相关产品推荐

