ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Delphi中把字符串存储成各种编码的txt文档

2022-01-10 15:00:31  阅读:302  来源: 互联网

标签:SaveFile Temp ss Delphi 文档 test TEncoding txt


//资料来源 :一个把字符转换成各种编码文件的delphi2010函数. - textbox - IT博客 http://www.cnitblog.com/textbox/archive/2011/03/03/72913.aspx

 1 procedure SaveFile(const FileName:string; Source: string ;
 2    encoding:TEncoding);
 3 var
 4   sl: TStrings;
 5   memoStream: TFileStream;
 6   buff: Tbytes;
 7   LByteOrderMark: TBytes;
 8 begin
 9   if Source='' then
10       exit ;
11   try
12     buff:=encoding.GetBytes(Source);
13     memoStream:= TFileStream.Create(FileName, fmCreate);
14     LByteOrderMark:=encoding.GetPreamble;
15     memoStream.Write(LByteOrderMark[ 0 ], Length(LByteOrderMark));
16     memoStream.Write(buff[ 0 ], length(buff));
17   finally
18     memoStream.Free;
19   end ;
20 end ;

 

SaveFile('C:\Temp\test_' + 'ascii_gbk.txt', ss, TEncoding.GetEncoding(936));//gbk
SaveFile('C:\Temp\test_' + 'ascii_bg5.txt', ss, TEncoding.GetEncoding(950));//bg5 繁体
SaveFile('C:\Temp\test_' + 'utf8.txt', ss, TEncoding.UTF8);
SaveFile('C:\Temp\test_' + 'unicode.txt', ss, TEncoding.Unicode);

unicode转中文的时候必须要制定页码,不然会出现乱码.比如的以下这两句.
SaveFile('C:\Temp\test_' + 'ascii_gbk.txt', ss, TEncoding.GetEncoding(936));//gbk
SaveFile('C:\Temp\test_' + 'ascii_bg5.txt', ss, TEncoding.GetEncoding(950));//bg5 繁体

标签:SaveFile,Temp,ss,Delphi,文档,test,TEncoding,txt
来源: https://www.cnblogs.com/dmqhjp/p/15784420.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有