Delphi读取和写入utf-8编码格式的文件

Python读取各种格式的txt文档(ANSI、Unicode、Unicode big endian、UTF-8等) 有时候我们要读取txt文档,然后以中文的形式输出返回,但是有时候txt文档的保存格式为ANSI、Unicode等,这样读取出来的文本是乱码的。 下面我们把txt文档另存为Unicode格式, 然后读取 try: #打开txt文档 f = open('E:\\a file.txt','rb') #读取 r = f.read() print(r) f.close()... 阅读详情

读取UTF-8格式的文件内容

function LoadUTF8File(AFileName: string): string;
var  ffileStream:TFileStream;
         fAnsiBytes: string;
         S: string;
begin
            ffileStream:=TFileStream.Create(AFileName,fmOpenRead);
            SetLength(S,ffileStream.Size);
            ffileStream.Read(S[1],Length(S));
            fAnsiBytes:= UTF8Decode(Copy(S,4,MaxInt));
           Result:= fAnsiBytes;
end;

写入UTF-8编码格式的文件
procedure SaveUTF8File(AContent:string;AFileName: string);
var ffileStream:TFileStream;
        futf8Bytes: string;
       S: string;
begin
       ffileStream:=TFileStream.Create(AFileName,fmCreate);
       futf8Bytes:= UTF8Encode(AContent);
       S:=#$EF#$BB#$BF;
       ffileStream.Write(S[1],Length(S));
       ffileStream.Write(futf8Bytes[1],Length(futf8Bytes));
       ffileStream.Free;
end;


DOS或CMD命令下文本UTF8转ANSI软件 用于DOS命令或CMD界面下对文本文件UTF8格式转为ANSI格式,本人已经测试通过,用于VFP编程使用 立即下载

相关推荐

SigmaStar(星宸科技)SSC33X系列

目前,SSC33X系列已经量产了接近两年,SDK成熟稳定,功耗表现良好,图像效果出色,广泛应用在AI枪机、AI球机、AI云台机、多目摄像机、停车场闸机、人脸门禁、人脸锁、门铃猫眼等产品上。

Comake Online的博客 1万+

【delphi】判断文件的编码方式(ANSI、Unicode、UTF8、UnicodeBIG)

判断文件的编码格式(ANSI、Unicode、UTF8、UnicodeBIG)等

sensor_WU 博客 4629

【BAAS】基于supabase的知识库详细设计

为满足快速开发需要和减少开发及维护成本,使用BAAS(Backend-as-a-Service)模式可以很好的降低我们的后端维护成本,并提高前端对接效率。一般来说,BAAS是一种云服务模式,BaaS供应商会为提供一些通用的能力,例如用户身份验证、数据库管理、远程更新和推送通知(针对移动应用程序),以及云存储和自托管。BaaS最主流的是Google的firebase,具有相当完善的功能和集成方案,但他是收费的,而且在我们实际项目中,可能需要私有化部署,这时就需要一些开源的替代方案,例如主流的。

Ric的博客 1781

Delphi中处理UTF8格式的文本

前面有篇文章写了DELPHI中UTF-8格式转ANSI格式。当时那个格式仅限于Windows记事本保存的UTF-8格式,不支持一般的UTF-8格式。于是又在网上找了一个新的转一般UTF-8的函数。代码如下:function UTF8ToAnsiString(utf8str:string; CodePage: integer):AnsiString;var i:integer;

Newweapon's Trace 1942

开关变换器小信号建模实战:从理论到环路设计

本文深入探讨了开关变换器小信号建模的实战技巧,从理论基础到环路设计全面解析。通过Buck和Boost变换器的具体案例,详细介绍了状态空间平均法、扰动法等关键建模技术,并分享环路补偿设计和实际调试中的宝贵经验。文章特别强调了小信号建模在电源设计中的重要性,为工程师提供了从理论到实践的完整解决方案。

weixin_29290259的博客 376

软件崩溃时Visual Studio中看不到有效的调用堆栈,使用Windbg动态调试去分析定位

当在Visual Studio中遇到软件崩溃且无法查看详细调用堆栈时,可以使用Windbg进行动态调试去分析定位问题。

dvlinker的技术专栏 1万+

Delphi 编码错误问题

编码格式错误、GBK转UTF8

m0_58498198的博客 2365

基于 STM32 单片机的实验室多参数安全监测系统设计与实现

本系统以 STM32F103C8T6 单片机为核心,集成温湿度监测、烟雾检测、气体泄漏报警、人体移动监测等功能模块,通过 OLED 显示屏实时显示数据,并支持 Wi-Fi 远程传输。系统可对实验室异常环境参数(如高温、烟雾、燃气泄漏)及非法入侵实时报警,保障实验室安全。本文从硬件选型、电路设计到软件实现提供了完整的实验室安全监测系统方案,可根据实际需求调整传感器类型和通信方式,适用于科研、教学等场景的环境安全防护。:可增加继电器模块控制通风设备或切断电源,集成 ZigBee 组网实现多实验室联动监测。

weixin_42300449的博客 1285

Delphi XE 10.3.3 TFileStream读read写write字符串必须用UTF8String防止出现垃圾字符

最近需要将一个Delphi 7的古老程序重构升级为Delphi 10.3.3,没想到由于Delphi字符串定义发生了变化,造成写入文件的字符串出现垃圾字符 我有Delphi 2007代码看起来像这样: procedure WriteString(Stream: TFileStream; var SourceBuffer: PChar; s: string); begin StrPCopy(SourceBuffer,s); Stream.Write(SourceBuffer[0], StrLen

Delphi开发局QQ群:32422310 2309

uniapp(全端兼容) - 超详细接入百度统计功能,给uniapp全平台各端项目引入添加百度统计的插件统计流量详细的步骤教程(提供最新的百度统计源代码,详细的示例代码复制粘贴即可快速搞定!)

uniapp h5 app 使用加入接入百度统计,uniapp百度统计,uniapp详细引入百度统计的教程,uniapp接入百度统计,uniapp如何实现加入百度的统计代码,uniapp怎么植入百度统计详细教程,uniapp如何对接百度统计,uniapp百度统计不生效怎么办,uniapp使用百度统计不生效常见问题,uniapp引入百度统计后没有生效,uniapp h5网页接入百度统计代码后没有统计无效,uniapp最新接入使用百度统计功能,uniapp增加百度统计代码,uniapp app如何接入百度统计,

✅ 精选推荐文章 1万+

unitree-G1外接 USB 麦克风完整配置指南

首先,将type-c麦克风插入G1机器人的USB口后,记录下USB麦克风的卡号(card)和设备号(device),通常显示为 card 1: Device [USB Audio Device]

m0_47999117的博客 599

Delphi UTF8文件读写操作

function LoadUTF8File(FileName: string): string; var SS: TStringStream; begin SS := TStringStream.Create('', TEncoding.UTF8); SS.LoadFromFile(FileName); Result := SS.DataString; end; proc...

wh445306 1025

fanuc机器人KAREL中 函数的应用

本次课程讲解编程的思路。很多的同学都玩过积木,一个一个的模块逐渐累积起来,通过彼此之间的相互联系,最终形成一个完整的整体。其实编程也是这样。 将一个对象根据其特点进行模块化拆分,尤其是一些特点非常相似的内容,将其变成一个模块。然后通过传递参数,实现不同的功能,这就是模块化编程。

haier123888的博客 2744

delphi2007 读取得unicode文本显示出来时乱码?

正好今天在编程序,把我写的读写unicode及utf-8的函数上传到这里。 utf8Head:   Array[0..2] of Char = (#239,#$bb,#$bf); unicodeHead: Array[0..1] of Char = (#255,#$fe); // read utf8 file function ReadUtf8File(const filena

jacknes009的专栏 1963

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Delphi 判断文本文件的编码格式并读取内容

这里指的文本是用于Windows系统中的扩展名为.txt的文件。 Notepad(记事本)只支持四种格式:ANSI/Unicode/Unicode big endian/UFT-8,在Delphi中如何判断与读取这些不同格式的文本呢? 首先,不同编码的文本,是根据文本的前两个字节来定义其编码格式的。定义如下: ANSI: 无格式定义; Unicode: 前两个字节为FFFE; Unicode bi...

百万软件 1600

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Delphi判断文本文件的编码格式

今天在网上看到一位老兄写的判断记事本保存的文本的四种格式的判断,觉得非常不错。Notepad(记事本)只支持四种格式:ANSI/Unicode/Unicode big endian/UFT-8,在Delphi中如何判断与读取这些不同格式的文本呢?首先,不同编码的文本,是根据文本的前两个字节来定义其编码格式的。定义如下:ANSI:        无格式定义;Unicode:     

Newweapon's Trace 2590

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Delphi 判断文本文件的编码格式

这里指的文本是用于Windows系统中的扩展名为.txt的文件。 Notepad(记事本)只支持四种格式:ANSI/Unicode/Unicode big endian/UFT-8,在Delphi中如何判断与读取这些不同格式的文本呢? 首先,不同编码的文本,是根据文本的前两个字节来定义其编码格式的。定义如下: ANSI: 无格式定义;Unicode: 前两个字节为FFFE;Unicode...

weixin_30296405的博客 1021

Delphi读写UTF-8、Unicode格式文本文件

 // UTF-8文件写入函数procedure SaveUTFFile(const FileName: string; S: string; WriteHeader: Boolean = True);var  MemStream: TMemoryStream;  HeaderStr: String;begin  if S = then Exit;   MemStream := TM

missmecn的专栏 5059

如何判断文本文件的编码格式?

这里指的文本是用于Windows系统中的扩展名为.txt的文件。Notepad(记事本)只支持四种格式:ANSI/Unicode/Unicode big endian/UFT-8,在Delphi中如何判断与读取这些不同格式的文本呢?首先,不同编码的文本,是根据文本的前两个字节来定义其编码格式的。定义如下:ANSI:        无格式定义;Unicode:      

oluckly的专栏 3434

在ASP中自动检测文件的编码格式,支持UTF-8、GB2312、UTF-7、Unicode、Unicode Swap等格式的检测

本文因偶在转移网站编码格式时所写,参考了这个写的http://www.zuoyefeng.com/show.aspx?id=111&cid=21他的是C#的,偶是ASP的,需要其他DELPHI和VB格式的可以联系我。%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>本代码由不速白客原创,转载使用请保留此信息,否则偶要追究责任哦。探讨技术请加QQ:1

无影的灵魂 1379
上一篇: 中文字符编码和通用编码
下一篇: delphi 让ScrollBox响应鼠标滚轮事件
百炼成钢百忍成佛
博客等级 码龄24年 144粉丝 151原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值