苏州实操派科技有限公司官网-实操派教育科技,汇川技术PLC培训,实操派PLC培训,苏州PLC培训机构

文件操作篇:5、实操内容-带中文字符文件读写

[复制链接]
6 184

附件下载,需登录可以查看贴内更多信息

您需要 登录 才可以下载或查看,没有账号?立即注册

x
中型PLC系列-文件操作篇

本课程分为基础内容和实操内容两部分,前者帮助大家了解文件操作基本内容,后者帮助大家快速上手应用。基础内容:
1、文件操作的应用
2、文件操作函数库
3、文件操作函数 (附文件操作视频上篇)
实操内容:
4、TXTCSV、U盘SD卡文件读写&实操
5、带中文字符文件读写&实操(附文件操作视频下篇)
实操内容:5、带中文字符文件读写

1、常见字符编码

ASCII

ASCII:American Standard Code for InformationInterchange,美国信息互换标准代码。ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。
标准ASCII 码也叫基础ASCII码,使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,
数字0 到9、标点符号,以及在美式英语中使用的特殊控制字符。
1.png

英文表示基础字符有限,256位足够且有冗余,
世界上的国家和文字、符号太多,对于一些语言,
即使256位,也是不够用的,比如中文语言,
于是就开始扩展,出现了Unicode字符集。
UniCode

Unicode:统一码、万国码、单一码,是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode是为了解决传统的字符编码方案的局限而产生的,
它为每种语言中的每个字符设定了统一并且唯一的二进制编码,
以满足跨语言、跨平台进行文本转换、处理的要求
2.png

UTF-8、UTF-16

UTF-8:8-bit Unicode Transformation Format,是一种针对Unicode的可变长度字符编码,内容一般有1-6个字节。UTF-16:把Unicode字符集的抽象码位映射为16位长的整数(即码元)的序列,用于数据存储或传递,缺点是无法与ASCII兼容,且字符内容有限。UTF-8编码示例:
3.png

1)对于单字节的符号,字节的第一位设为0,后面7位为这个符号的 Unicode 码。
因此对于英语字母,UTF-8 编码和 ASCII 码是相同的。
2)对于n字节的符号(n > 1),第一个字节的前n位都设为1,第n + 1位设为0,
后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的 Unicode 码。
2、一般编码关系

现在计算机系统通用的字符编码工作方式:
1、在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
2、用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,
编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件。
4.png

3、Txt中编码类型说明

5.png

1)ANSI是默认的编码方式。对于英文文件是ASCII编码,对于简体中文文件是GB2312编码(只针对 Windows 简体中文版,如果是繁体中文版会采用 Big5 码)。2)Unicode编码,即直接用两个字节存入字符的 Unicode 码,UniCode,这个选项用的 little endian 格式。     little endian  和 big endian是编码方式的区别3)汇川中型PLC编码施行标准为GB13000-2010,中文字符以双字节存储。
6.png

4、PLC中UTF-16与UTF-8的转换

带中文字符读写时,最标准和稳妥的方法可以直接使用转换函数,写入
时将PLC的字符串编码变为标准的UTF-8格式,。
如图:
在库管理器中添加StringUtils工具库,我们使用其中的
ConvertUTF16toUTF8 和 ConvertUTF8toUTF16函数。
7.png

函数使用如下:
8.png

5、PLC中带中文字符读写方法

只推荐两种,提前修改文件格式的这种方法不推荐,使用太麻烦。
1、UTF-16转换成UTF-8

这个方法上文已经介绍,一般这种方式TXT文件直接写入,直接打开不会造成乱码。
但是在写CSV格式时仍会有乱码现象,原因后面再介绍。
如图,CSV打开文件内中文字符是乱码。
9.png

打开方式选使用记事本
10.png

可以看到内容是没有乱码的
11.png

这时我们将文件另存为,编码方式选择UTF-8。
12.png

再打开CSV发现乱码现象已经消失。
13.png

同样的,使用功能更为强大的NotePAD++也可以
14.png

选择UTF-8编码。
15.png

保存。
16.png

2、优化UTF-16转UTF-8

除了编码方式导致的乱码外,在Windows环境下,
对于 CSV 文件等,Excel 需要它有一个元信息来说明它的编码,
微软自定义了一个格式叫  BOM 头,
这个 BOM 头在被其他的表格展示器(比如 Numbers 或者 Libre Office)打开的时候会被忽略,
但对 Excel 就很关键。
所以可以在所有写操作前,我们先将BOM的信息内容写入TXT文件或CSV文件,这样就可以省去修改文件格式等操作。
表头在网上可以查找到相关信息,我们直接说结论。
先将表头信息在写正式内容前写入文档中。
这两种是BOM头中UTF-8的表现形式STRING类型:$ef$bb$bfWSTRING类型:$FEFF表头信息只要在文档正式内容写入前,写入一次即可,不需要每次重复写。STRING:
17.png

WSTRING:
18.png

这里都是随内容一起写入了,也可以分开写。
直接打开文档,可以看到,这种情况下CSV将不会再发生乱码现象。
19.png

6、视频课程讲解&实操

晚点补上视频链接和示例程序讲解

附件内容:
压缩文件包内是综合的示例程序
File Operation.7z (74.82 KB, 下载次数: 1)
7-综合练习-带中文字符文件读写.pptx (4.11 MB, 下载次数: 1)














免责声明:内容为网友自行发布或者来自互联网资源或者参考文献,如果侵犯了您的权益,请联系站长 1304546267@qq.com,我们会及时删除侵权内容,感谢您的理解!

相关帖子

回复

使用道具 举报

小妖幻想涡 2020-8-24 08:39:13 | 显示全部楼层
汇川的功能实在是强大,可以比肩西门子了
回复

使用道具 举报

夜归仁忧 2020-8-24 11:42:10 | 显示全部楼层
如果官方能对这些功能进行更好的封装,比如像倍福一样,那就更方便使用了~~期待~~
回复

使用道具 举报

附件有点贵
回复

使用道具 举报

nnggw61 2020-8-29 19:13:23 | 显示全部楼层
这个要习要学习一下。
回复

使用道具 举报

棒棒的!!!
回复

使用道具 举报

关键词:文件操作、中文字符、字符编码、ASCII码

文章大纲:
I. 介绍文件操作的应用
II. 文件操作函数库和函数的概述
III. 实操内容:TXT/CSV、U盘/SD卡文件读写
IV. 实操内容:带中文字符文件读写
   A. 常见字符编码
   B. 中文字符的处理方法
   C. 实操步骤及注意事项
V. 结论

正文:

I. 介绍文件操作的应用
文件操作是指对计算机中的文件进行创建、打开、读取、写入和关闭等操作的过程。在实际应用中,文件操作可以用于数据的存储、备份、导入和导出等方面。通过文件操作,用户可以方便地管理和处理大量的数据。

II. 文件操作函数库和函数的概述
文件操作通常需要使用特定的函数库和函数来实现。常用的文件操作函数库有C语言中的stdio.h库和C++语言中的fstream库。这些函数库提供了一系列的函数,如fopen、fwrite、fread和fclose等,用于打开、读取和写入文件。

III. 实操内容:TXT/CSV、U盘/SD卡文件读写
在文件操作的实操内容中,常见的文件类型包括TXT和CSV文件,而常见的存储介质包括U盘和SD卡。通过使用相应的文件操作函数,可以实现对这些文件类型和存储介质的读取和写入。

IV. 实操内容:带中文字符文件读写
在处理带中文字符的文件时,需要注意字符编码的问题。常见的字符编码包括ASCII码、UTF-8和GBK等。其中,ASCII码是一种常用的字符编码,用于表示英文字母、数字和常用符号。但ASCII码无法表示中文字符,因此需要使用其他字符编码来处理带中文字符的文件。

A. 常见字符编码
ASCII码是一种使用7位或8位二进制数来表示128或256种可能字符的编码方式。它可以表示标准的英文字母、数字和符号,但无法表示中文字符。为了解决这个问题,出现了多种支持中文字符的字符编码,如UTF-8和GBK等。UTF-8是一种可变长度的字符编码,支持所有Unicode字符,而GBK是一种固定长度的字符编码,支持简体中文字符。

B. 中文字符的处理方法
处理中文字符的方法主要有两种:一种是使用宽字符函数,如wfstream和fwprintf等,另一种是使用多字节字符函数,如ifstream和fprintf等。宽字符函数一般适用于处理Unicode字符,而多字节字符函数一般适用于处理GBK编码的中文字符。

C. 实操步骤及注意事项
在实操中,首先需要确定文件的字符编码类型,然后选择适合的文件操作函数。对于带中文字符的文件,可以使用宽字符函数来读取和写入中文字符。同时,为了保证文件的正确读取和写入,还需要注意设置文件的打开模式、字符编码和文件指针的位置等。

V. 结论
通过本文介绍的实操内容,读者可以了解到文件操作的基本原理和应用方法。特别是在处理带中文字符的文件时,需要注意字符编码的问题,选择合适的文件操作函数来实现中文字符的读取和写入。文件操作是计算机编程中的重要知识点,掌握文件操作技巧对于数据处理和应用开发具有重要意义。
                                                                                                                                                                                                                                                 以上内容来自  AI机器人,如需继续对话,则在此回答下“点击回复” 或者 在提问时  “@机器人”!禁止 "黄赌毒及政治敏感",违者封号,严重者 提交 网警公安部门。本站不对内容真实性负责,AI机器人有时候会乱说一通……
回复

使用道具 举报

data/attachment/temp/202212/30/133743h8cd9z14sjs84kaz.png_thumb.jpg 共31章节616课时

【全科班】汇川中型PLC从0到1就业班(Codesys系统化全科班课程-600节+)-汇川PLC教程

朱子文

咨询客服
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/VMdEZiqp3BMkbBIlMRRD.png 共9章节44课时

【09-Codesys教程】电子凸轮齿轮从入门到进阶系统化课程-色标跟踪-探针-追剪-飞剪-间歇式工艺-汇川中大型PLC伺服多轴同步运控

朱子文

¥ 699.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240217/v39r666Z663eBBGKErRm.png 共30章节630课时

【全科班】汇川技术H5U从0到1就业班(系统化全科班-600节+)

张汉清

咨询客服
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240207/HlL5SWHry9lPVdqC8i59.png 共5章节63课时

【01-Codesys教程】ST文本从0到1,从入门到进阶-汇川中大型PLC教程

朱子文

¥ 499.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240227/AMo32PcbJeIMJBT3m8Pu.png 共4章节36课时

03 中大型ST文本结合仿真软件小项目 31节-气缸功能块封装-状态机编程思路-小设备框架

朱子文

¥ 499.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/Fu5pu34pPcTpu0La443P.png 共6章节52课时

【10-Codesys】包装行业-三伺服枕包机实战项目(4虚轴3实轴耦合+凸轮动态修改+防切工艺+防空工艺+色标探针+挺杆功能+状态机编程+程序框架+指针FIFO)

朱子文

¥ 899.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/Su1ibr3I77yl78DLBR7D.png 共4章节29课时

【12-Codesys小课】中大型PLC-PID控制器算法从入门到进阶之液位控制系统

朱子文

¥ 699.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20230603/Cz3hqDmDD8qHfT3MDm4m.png 共3章节30课时

【05-Codesys教程】汇川中大型PLC单轴运动控制教程-汇川PLC教程

朱子文

¥ 399.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20230603/gXpEpJ8Qb78eD5lDqlnQ.png 共3章节25课时

【06-Codesys教程】汇川中大型PLC运动控制进阶篇(多轴PTP)-编程框架与编程模板实操

朱子文

¥ 499.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/e39s63ppg54Q2s5H33H9.png 共3章节24课时

【08-codesys教程】汇川中大型codesys教程-多轴运控扩展篇经验分享小知识分享

朱子文

¥ 299.00
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

data/attachment/temp/202212/30/133743h8cd9z14sjs84kaz.png_thumb.jpg 共31章节616课时

【全科班】汇川中型PLC从0到1就业班(Codesys系统化全科班课程-600节+)-汇川PLC教程

朱子文

咨询客服
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/VMdEZiqp3BMkbBIlMRRD.png 共9章节44课时

【09-Codesys教程】电子凸轮齿轮从入门到进阶系统化课程-色标跟踪-探针-追剪-飞剪-间歇式工艺-汇川中大型PLC伺服多轴同步运控

朱子文

¥ 699.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240217/v39r666Z663eBBGKErRm.png 共30章节630课时

【全科班】汇川技术H5U从0到1就业班(系统化全科班-600节+)

张汉清

咨询客服
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240207/HlL5SWHry9lPVdqC8i59.png 共5章节63课时

【01-Codesys教程】ST文本从0到1,从入门到进阶-汇川中大型PLC教程

朱子文

¥ 499.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240227/AMo32PcbJeIMJBT3m8Pu.png 共4章节36课时

03 中大型ST文本结合仿真软件小项目 31节-气缸功能块封装-状态机编程思路-小设备框架

朱子文

¥ 499.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/Fu5pu34pPcTpu0La443P.png 共6章节52课时

【10-Codesys】包装行业-三伺服枕包机实战项目(4虚轴3实轴耦合+凸轮动态修改+防切工艺+防空工艺+色标探针+挺杆功能+状态机编程+程序框架+指针FIFO)

朱子文

¥ 899.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/Su1ibr3I77yl78DLBR7D.png 共4章节29课时

【12-Codesys小课】中大型PLC-PID控制器算法从入门到进阶之液位控制系统

朱子文

¥ 699.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20230603/Cz3hqDmDD8qHfT3MDm4m.png 共3章节30课时

【05-Codesys教程】汇川中大型PLC单轴运动控制教程-汇川PLC教程

朱子文

¥ 399.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20230603/gXpEpJ8Qb78eD5lDqlnQ.png 共3章节25课时

【06-Codesys教程】汇川中大型PLC运动控制进阶篇(多轴PTP)-编程框架与编程模板实操

朱子文

¥ 499.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/e39s63ppg54Q2s5H33H9.png 共3章节24课时

【08-codesys教程】汇川中大型codesys教程-多轴运控扩展篇经验分享小知识分享

朱子文

¥ 299.00

到"π³ 实操派",学PLC就是快!汇川PLC及Codesys培训

项目实战 手把手教学 微信&电话 15850116008
超600节系统化课程,汇川优秀自动化讲师亲授!学一门Codesys,玩800家PLC仅剩少量名额
点击免费试听

到实操派,学PLC就是快!

扫码领取工控文库VIP

钻石VIP先到先得

服务电话 & 微信:9:00-22:00

15850116008

苏州实操派科技有限公司

公司地址:江苏省苏州市吴中区越溪街道天鹅荡路5号31B13

Copyright © 苏州实操派科技有限公司 2022 到实操派,学PLC就是快!工业自动化业务培训适用人群:成人 ( 苏ICP备2022021576号-3 )

公司地址:江苏省苏州市吴中区越溪街道天鹅荡路5号31B13

返回顶部