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

如何将纯文本转Base64 及将Base64字符串转换为Uint8List

开发问题解答

1. 纯文本转Base64格式

所有主流编程语言的标准库都内置Base64编解码能力,无需手动实现编码算法,直接调用标准API即可。
以常见开发场景为例:

  • Dart/Flutter环境:先将纯文本转UTF-8字节数组,再编码为Base64字符串
import 'dart:convert';

String plainText = "待转换的纯文本内容";
String base64Result = base64Encode(utf8.encode(plainText));
  • 浏览器JS环境:
const plainText = "待转换的纯文本内容";
const base64Result = btoa(unescape(encodeURIComponent(plainText)));
  • Node.js环境:
const plainText = "待转换的纯文本内容";
const base64Result = Buffer.from(plainText, 'utf8').toString('base64');

注意:你从接口获取到的LzlqLzRRSmNSWGhw...开头的长字符串本身已经是标准Base64格式的图片数据,无需重复做纯文本转Base64操作,重复编码会导致数据损坏,后续无法正常解析为图片。


2. Base64字符串转Uint8List

Uint8List是Dart/Flutter生态的标准字节数组类型,直接用dart:convert内置的解码方法即可,无需引入第三方依赖:

import 'dart:convert';

// 替换为接口实际返回的完整Base64字符串
String base64StrFromApi = "你的接口返回的Base64字符串";
// 解码后直接得到Uint8List类型的图片字节数据,可直接传入Image.memory等组件渲染
Uint8List imageByteData = base64Decode(base64StrFromApi);

*常见踩坑提示:

  • 如果接口返回的Base64带data:image/jpeg;base64,、data:image/png;base64,这类Data URL前缀,需要先把逗号前的前缀内容截取删除,再传入解码,否则会触发格式错误。
  • 注意校验Base64字符串长度,接口返回截断的不完整Base64也会导致解码失败。*

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 05:57:14