吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 407|回复: 1

[火山] 【编码转换深入解读】

[复制链接]
书香 发表于 2024-3-7 06:51 | 显示全部楼层 |阅读模式

本节来总结一下,前面学习中相关问题难点

本节实际上就是对【文本与多字节】 的进一步探讨


相信大家可能有一个疑问,为什么火山的编码类型没有文本和文本之间的之间转换
  
编码_gb2312到utf8 ()
编码_utf8到gb2312 ()

比如上面易语言中精易模块的这2句命令,简单明了,
像火山就复杂多了:
多字节到文本 ( ) 提供的参数是字节集,返回的是文本
文本到多字节 ( ) 提供的参数是文本,返回的是字节集


这么复杂的目的到底是什么,这可能是很多火山编程爱好者想不明白的一个事

——————————————————————————————————————————————————


产生这种误区的原因是来源于GBK与UTF-8之间的编码转换,确实,在易语言中,我们可以将其在文本层面进行转换,但是这仅仅只在GBK和UTF-8两种编码中起到效果

实际上,从来就是不允许在文本层次进行编码转换的,比如我用易语言文本变量去接收一个UTF-16的文本,这个时候可能就会产生一堆的???,然后出现数据丢失的情况

也就是说,我们应该要在字节集的层面上进行转换


大家可能会有疑问,万一我返回的不是字节集是文本

forum.jpg

forum.jpg

放心吧,大家想的到的操作返回的都是字节集,没有文本的

如果要读入GBK数据,我们就用多字节到文本 ( )
如果要读入UTF-8数据,我们就用精易模块的编码_Utf8到Unicode ()
forum.jpg

对于写出数据是一样的处理方法

————————————————————————————————————————————
重点:
当然大家如果觉得实在不习惯,我这边使用易语言的语法为大家提供一个解决办法

标准写法:
forum.jpg

易语言写法:
forum.jpg

[Asm] 纯文本查看 复制代码
<火山程序 类型 = "通常" 版本 = 1 />

变量 文件路径 <类型 = 文本型>
变量 文本 <类型 = 文本型>
变量 ""
文件路径 = 取特定目录 (特定目录类型.系统桌面) + "123.txt"
文本 = 字节集到文本 (读入文件 (文件路径, ))

文本 = 多字节到文本 (文本到字节集 (文本))
信息框 (文本, , )




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






评分

参与人数 2HB +3 THX +2 收起 理由
ok8953 + 1 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
美好映像 + 2 + 1

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
lies 发表于 2024-3-8 12:37 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!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

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