解码base64图片字符串提示错误:no mapping for the unicode character exists in the target mult

aidpoint20126 2020-11-26 04:58:28
base64的图片字符串,我用xe10的EncdDecd.DecodeString解码提示错误:

no mapping for the unicode character exists in the target multi-byte code page

各位大侠请指教???
解码后我好还原为图片
...全文
1553 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
BlueStorm 2020-12-02
  • 打赏
  • 举报
回复
如果你把base64字符串贴出来,马上就可以判定原因。
tanqth 2020-11-27
  • 打赏
  • 举报
回复
就你说这个DecodeString,也应该是解码BASE64为字符串,图片数据不可能是字符串的。 解决方式: 引用system.netencoding单元 使用下面这条解码 Tnetencoding.Base64.Decode(Input, Output); Input为需要解码的流(需要先把你的BASE64的字符串转换为输入流) Output为最后解码出来的流 Output就是你需要的图片数据了,可以直接保存为文件。
天行归来 2020-11-26
  • 打赏
  • 举报
回复
我用 Delphi2010 封装了解码函数,XE10没试过。


class function Base64DecodeImageFile(fileName: string; encodeStr: AnsiString): boolean;
var
  bts: TBytes;
  ms :TMemoryStream;
  decoder: TIdDeCoderMIME;
begin
  decoder := TIdDeCoderMIME.Create(nil);
  ms := TMemoryStream.Create();
  try
    bts := decoder.DecodeBytes(encodeStr);
    ms.Write(bts[0],Length(bts));
    ms.SaveToFile(fileName);
    result := true;
  except
    result := false;
  end;
  decoder.Free;
  ms.Free;
end;
内容概要:本文是一篇关于使用RandLANet模型对SensatUrban数据集进行点云语义分割的实战教程,系统介绍了从环境搭建、数据准备、模型训练与测试到精度评估的完整流程。文章详细说明了在Ubuntu系统下配置TensorFlow 2.2、CUDA及cuDNN等深度学习环境的方法,并指导用户下载和预处理SensatUrban数据集。随后,逐步讲解RandLANet代码的获取与运行方式,包括训练、测试命令的执行与参数含义,以及如何监控训练过程中的关键指标。最后,教程涵盖测试结果分析、向官方平台提交结果、解读评估报告及可视化效果等内容,并针对常见问题提供解决方案。; 适合人群:具备一定深度学习基础,熟悉Python编程和深度学习框架,从事计算机视觉或三维点云相关研究的学生、研究人员及工程师;适合希望动手实践点云语义分割项目的初学者与进阶者。; 使用场景及目标:①掌握RandLANet网络结构及其在点云语义分割任务中的应用;②学会完整部署一个点云分割项目,包括数据处理、模型训练、测试与性能评估;③为参与相关竞赛或科研项目提供技术支撑。; 阅读建议:建议读者结合提供的代码链接和密码访问完整资料,在本地或云端环境中边操作边学习,重点关注数据格式要求与训练参数设置,遇到问题时参考“常见问题与解决技巧”部分及时排查。

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧