当我们读取某个文件时,会出现乱码情况,我们首先先创建一个txt文本,在里面写上“你好”,然后另存为,如图所示:
在学习之前,你需要先阅读知识点:【UTF-8和GBK】
ANSI编码相当于gbk
易语言读取代码:
变量名 | 类 型 | 静态 | 数组 | 备 注 | 数据 | 字节集 | | | 文本内容 | 文本型 | | |
数据 = 读入文件 (取特定目录 (3 ) + “123.txt”)调试输出 (数据 )文本内容 = 到文本 (数据 )调试输出 (文本内容 )
当我们存储为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组)
重点,我们可以使用如下写法:
变量名 | 类 型 | 静态 | 数组 | 备 注 | 数据 | 字节集 | | | 文本内容 | 文本型 | | |
数据 = 读入文件 (取特定目录 (3 ) + “123.txt”)调试输出 (数据 )文本内容 = 到文本 (数据 )文本内容 = 编码_utf8到gb2312 (文本内容 )调试输出 (文本内容 )
调试结果:
* 字节集:6{228,189,160,229,165,189}
* “你好”
重点提示:
①:编码_utf8到gb2312来自于精易模块,听不懂的话说明你前面的课程没有认真看 017:【支持库和模块】
②:gb2312相当于GBK编码
(点击返回课程目录:https://shuxiangyage.net/forum.php?mod=viewthread&tid=1134) |