吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 1086|回复: 1

[易语言] 【易语言乱码问题】

[复制链接]
书香 发表于 2023-5-18 20:29 | 显示全部楼层 |阅读模式

本帖最后由 书香 于 2024-2-10 04:22 编辑

我们读取某个文件时,会出现乱码情况,我们首先先创建一个txt文本,在里面写上“你好”,然后另存为,如图所示:


学习之前,你需要先阅读知识点:008:
【UTF-8和GBK】
ANSI编码相当于gbk

易语言读取代码:
  
子程序名返回值类型公开备 注
_按钮1_被单击  
变量名类 型静态数组备 注
数据字节集  
文本内容文本型  
数据 = 读入文件 (取特定目录 (3)“123.txt”)
调试输出 (数据)
文本内容 = 到文本 (数据)
调试输出 (文本内容)


i支持库列表   支持库注释   
shell操作系统界面功能支持库
spec特殊功能支持库


当我们存储为ANSI编码时,T调试结果过为:
* 字节集:4{196,227,186,195}
* “你好”


当我们存储为utf8编码时,T调试结果过为:
* 字节集:6{228,189,160,229,165,189}
* “浣犲ソ”

看上去是乱码,这是因为易语言字节集到文本默认使用的是gbk格式,所以读取本地文件123.txt时,会将上面的{228,189,160,229,165,189}默认为3个字符,所以乱码的本质就是解码出错(本来3个一组结果2个1组)

重点,我们可以使用如下写法:
  
子程序名返回值类型公开备 注
_按钮1_被单击  
变量名类 型静态数组备 注
数据字节集  
文本内容文本型  
数据 = 读入文件 (取特定目录 (3)“123.txt”)
调试输出 (数据)
文本内容 = 到文本 (数据)
文本内容 = 编码_utf8到gb2312 (文本内容)
调试输出 (文本内容)


i支持库列表   支持库注释   
shell操作系统界面功能支持库
spec特殊功能支持库


调试结果:
* 字节集:6{228,189,160,229,165,189}
* “你好”

重点提示:
①:编码_utf8到gb2312来自于精易模块,听不懂的话说明你前面的课程没有认真看 017:【支持库和模块】

②:gb2312相当于GBK编码

(点击返回课程目录https://www.52hb.com/thread-58658-1-1.html

评分

参与人数 5HB +4 THX +3 收起 理由
小才不才 + 1
学编程的闹钟 + 1
消逝的过去 + 1
浅酌◇咖啡 + 1 + 1
sjtkxy + 1 + 1

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
头像被屏蔽
sjtkxy 发表于 2023-6-8 05:17 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表