本节来总结一下,前面学习中相关问题难点
本节实际上就是对【文本与多字节】 的进一步探讨
相信大家可能有一个疑问,为什么火山的编码类型没有文本和文本之间的之间转换
比如上面易语言中精易模块的这2句命令,简单明了,
像火山就复杂多了:
多字节到文本 ( ) 提供的参数是字节集,返回的是文本
文本到多字节 ( ) 提供的参数是文本,返回的是字节集
这么复杂的目的到底是什么,这可能是很多火山编程爱好者想不明白的一个事
——————————————————————————————————————————————————
产生这种误区的原因是来源于GBK与UTF-8之间的编码转换,确实,在易语言中,我们可以将其在文本层面进行转换,但是这仅仅只在GBK和UTF-8两种编码中起到效果
实际上,从来就是不允许在文本层次进行编码转换的,比如我用易语言文本变量去接收一个UTF-16的文本,这个时候可能就会产生一堆的???,然后出现数据丢失的情况
也就是说,我们应该要在字节集的层面上进行转换
大家可能会有疑问,万一我返回的不是字节集是文本
放心吧,大家想的到的操作返回的都是字节集,没有文本的
如果要读入GBK数据,我们就用多字节到文本 ( )
如果要读入UTF-8数据,我们就用精易模块的编码_Utf8到Unicode ()
对于写出数据是一样的处理方法
————————————————————————————————————————————
重点:
当然大家如果觉得实在不习惯,我这边使用易语言的语法为大家提供一个解决办法
标准写法:
易语言写法:
[voldev] 纯文本查看 复制代码 <火山程序 类型 = "通常" 版本 = 1 />
变量 文件路径 <类型 = 文本型>
变量 文本 <类型 = 文本型>
变量 ""
文件路径 = 取特定目录 (特定目录类型.系统桌面) + "123.txt"
文本 = 字节集到文本 (读入文件 (文件路径, ))
文本 = 多字节到文本 (文本到字节集 (文本))
信息框 (文本, , )
(点击返回课程目录:https://shuxiangyage.net/forum.php?mod=viewthread&tid=1134)
|