以 JPEG 图片为例,以下代码演示了如何将一个 JPEG 图片保存为纯文本形式,并将其以图片形式读回并显示。
保存 TXT:

function TForm1.JpegToText(AFileName:string; SaveFile: Boolean; TxtFileName: string): string;
var
FileStream        : TFileStream;
StringStream      : TStringStream;
FSize             : integer;
FileData          : string;
i                 : integer;
DataStr           : string;
begin
tryFileStream := TFileStream.Create(OpenDialog1.FileName, fmOpenRead);StringStream := TStringStream.Create(EmptyStr);FSize := FileStream.Size;StringStream.CopyFrom(FileStream, FSize);FileData := StringStream.DataString;DataStr := EmptyStr;for i := 1 to Length(FileData) dobeginDataStr := DataStr + InttoHex(Ord(FileData[i]), 2);end;Result := DataStr;if SaveFile thenbeginwith TStringList.Create dobeginText := DataStr;SaveToFile(TxtFileName);Free;end; end;
finallyfreeandnil(FileStream);freeandnil(StringStream);
end;
end;

从 TXT 读回 JPEG:

function TForm1.TextToJpeg(AFileName: string; SaveFile: Boolean; JpegFileName: string): TJPEGImage;
var
buf               : array of Byte;
DataLength        : Integer;
i                 : Integer;
DataStr           : string;
ByteFile          : file of byte;
jpg               : TJPEGImage;
tmpFileName: string;
begin
with TStringList.Create do
beginLoadFromFile(AFileName);DataStr := Text;Free;
end;
DataLength := Length(DataStr) div 2-1;
SetLength(buf, DataLength);
for i := 1 to DataLength do
beginbuf[i - 1] := StrToInt('$' + copy(DataStr, (i - 1) * 2 + 1, 2));
end;
tmpFileName := ExtractFilePath(ParamStr(0))+'tmp.jpg';
AssignFile(ByteFile, tmpFileName);
Rewrite(ByteFile);
for i := 0 to DataLength - 1 do
beginwrite(ByteFile, buf[i]);
end;
CloseFile(ByteFile);
Result := TJPEGImage.Create;
Result.LoadFromFile(tmpFileName);
if SaveFile thenResult.SaveToFile(JpegFileName);
DeleteFile(tmpFileName);
end;

转载于:https://www.cnblogs.com/xiongyingfeixiang/archive/2011/12/08/2280251.html

二进制文件转成文本保存,并可以读回相关推荐

  1. Android文本保存成PDF格式

    支持Android文本保存成PDF格式,Canvas画图保存JPG格式导出PDF格式,使用itextpdf-5.5.1.jar包 项目地址:http://download.csdn.net/downl ...

  2. 老问题,SQL保存图片。保存以后再读出来,发现stream的大小不一致。虽然老,但没搜到结果。...

    老问题,SQL保存图片.保存以后再读出来,发现stream的大小不一致.虽然老,但没搜到结果. Delphi / Windows SDK/API http://www.delphi2007.net/D ...

  3. php+打开图片二进制文件,php接收二进制文件转换成图片

    $GLOBALS['HTTP_RAW_POST_DATA'] 最近在做Flash在线裁剪图片 生成图片的东西. 通过Flash POST 图片的二进制数据给php,由php生成图片保存. 开始想到用$ ...

  4. 剪映+json解析将视频中的声音转换成文本

    前言 有时候我们想将一段视频中的音频转换成文本,最简单最笨的方法就是通过人耳去听,然后通过打字打出来.但这种方法无疑是十分费劲的.机智的小伙伴肯定都知道我们可以借助语音识别工具来做这件事,但是比较现实 ...

  5. php+转为文本,PHP将HTML转换成文本的实现代码

    PHP将HTML转换成文本的实现代码 核心代码: // $document 应包含一个 HTML 文档. // 本例将去掉 HTML 标记,javascript 代码 // 和空白字符.还会将一些通用 ...

  6. 转python 将base64字符串还原成图片保存

    转python 将base64字符串还原成图片保存 import os,base64 strs='''/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAoHBwgHBgoICAgLC ...

  7. 一小时会议录音,30秒整理成文本,录音转文字这个方法很简单

    作为一个公司职员,每周的例会是难免的,用于会议记录不仅浪费时间,而且还记不全,相信很多朋友都有和我一样的苦恼,最近我学到了一个新功能,如何将一小时的录音30秒转换成文本,爽歪歪,接下来,和大家分享一下 ...

  8. Excel列数值格式强制转成文本格式

    Excel数据导入SQL时,带小数点或者科学计数法的数字类型列,导入SQL后,如果目标值是字符串格式,导入后,小数点后会出现很多位数,进而对数据有影响,需要对原始数据列进行转文本处理.记录下一种方法: ...

  9. excel 科学计数法转换成文本完整显示_避免万次暴击,巧办法解决数字和文本之间的快速转化...

    很多朋友在在数据整理的过程中都遇到过下图这种情况,大量数字内容,因为数字内容较长,excel以科学计数法进行了显示,多数时候我们会选中列设置单元格格式为文本,但单元格内容并不会转化为文本,需要对每个单 ...

  10. EXCEL数字前补零且转换成文本型

    EXCEL数字前补零且转换成文本型 方法一.使用公式="0"&A2,只能根据需要补零: 方法二.使用公式=REPT(0,8-LEN(A2))&A2,  自动为数值补 ...

最新文章

  1. 知乎13万赞!为何很多名校毕业生,都输在了人生后半程
  2. 企业部署Windows 8 Store 风格应用
  3. linux专用的opencv下载链接(持续更新)
  4. 02-eclipse中使用git
  5. deepfakes怎么用_[mcj]deepfakesApp使用说明(2)
  6. C#泛型委托Predicate、Action、Func
  7. 链表相关的面试题型总结
  8. [LeetCode] 860. 柠檬水找零 lemonade-change(贪心算法)
  9. keras实现多层LSTM
  10. 派生类构造的时候一定要调用_分手的时候,一定要好好说再见
  11. 微分方程matlab绘图,Matlab学习——求解微分方程(组)
  12. Excel中表单控件和ACTIVEX控件主要区别
  13. Session使用方法详解
  14. SPSS之单因素方差分析
  15. NIPS2022各学校统计,去China是200+哦~
  16. CSS Reset(样式重置)
  17. 法航AF447失事,机上有228人
  18. 1-给出n阶方阵里所有数,求方阵里所有数的和(华为机试)
  19. 立方根用计算机怎么输入,平方根立方根怎么用电脑计算机表示?
  20. Android实现第三方登录并获取到头像、名字

热门文章

  1. mysql数据库优化语句_MySQL优化之三:SQL语句优化
  2. 360浏览器升级_社畜必备!360浏览器上线“文档”功能 一键开启云办公
  3. vue 第四天 (计算属性的使用)
  4. 【渝粤教育】国家开放大学2018年春季 8636-21T实用心理学 参考试题
  5. 统计学习(二):统计推断
  6. ubuntu中彻底清空回收站
  7. HDU6278 Just h-index
  8. 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP 1
  9. el表达式字符串与变量拼接
  10. 架构设计之Spring-Session分布式集群会话管理