开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 139|回复: 2
收起左侧

[易语言] 编码转换

[复制链接]
结帖率:67% (16/24)
发表于 昨天 11:49 | 显示全部楼层 |阅读模式   河南省开封市
100精币



下面怎么转换   有大佬知道的吗


待转换字符>>[emoji=D835][emoji=DFCF][emoji=D835][emoji=DFCF][emoji=D83D][emoji=DCB0]/支[emoji=D835][emoji=DC77][emoji=D835][emoji=DC8A][emoji=D835][emoji=DC8F][emoji=D835][emoji=DC8C][emoji=D835][emoji=DC83][emoji=D835][emoji=DC86][emoji=D835][emoji=DC82][emoji=D835][emoji=DC93]唇釉[emoji=D83D][emoji=DE97]下啦叠金币 任拍[emoji=D835][emoji=DFD1]支[emoji=D83D][emoji=DCB5][emoji=D835][emoji=DFD1][emoji=D835][emoji=DFD1]显嫩高手来的 哑光水光都[emoji=D83C][emoji=DE36][emoji=D83D][emoji=DD17]/ MF287 f3MxgoHcTrh/


转换为>>f09d9fcff09d9fcff09f92b02fe694afe0b88be0b88ae0b88fe0b88ce0b883e0b886e0b882e0b893e59487e98789f09f9a970af09d9fd1e694afe0b88be0b88ae0b88fe0b88ce0b883e0b886e0b882e0b893e59487e98789f09f92b5f09d9fd1f09d9fd10af09d9fcfe698bee5aba9e9ab98e6898be69da5e79a8420e59391e58589e6b0b4e58589e983bdefbc8f20f09f94872f204d463238372066334d78676f48635472682f








回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值

签到天数: 10 天

发表于 昨天 14:04 | 显示全部楼层   山西省运城市
把 [emoji=XXXX] 两两配对,组合成完整码点再处理。

连续两个 emoji 标记且第一个值 < DC00、第二个值在 DC00-DFFF 范围,就是代理对,按公式合并:
码点 = ((高 - 0xD800) * 0x400) + (低 - 0xDC00) + 0x10000
否则单独作为一个非法码点,强行转码也能出结果。

所有码点(包括普通文本)拼成 unicode 字符串,用 编码_Unicode到Utf8 转成字节集,再用 字节集_字节集到十六进制文本 输出,就得到楼主发的 hex 串。

核心流程:

1. 用一个文本型变量 result 存最终 wide 字符串,准备两个整数高、低。
2. 循环查找 “[emoji=” 位置,取 = 到 ] 之间的 16 进制文本,转整。
   如果当前位置后面紧接另一个 [emoji= 且值合法,就代理合并,宽字符码点写入 result 的对应编码(易语言字符串是 UTF-16,可以直接用 写 Unicode 的方式)。
   如果不是成对,就直接把这一个值当码点转换(Unicode 会吞掉非法代理,但编码时可能变形,就照原方式硬输)。
3. 提完所有标记后,result 里已经有真正的 unicode 文本,普通文字直接拼接。
4. utf8字节集 = 编码_Unicode到Utf8 (result)
5. hex = 字节集_字节集到十六进制文本 (utf8字节集)

如果不想手写合并,精易模块的 编码_Unicode到Utf8 可以直接扔,但代理对要先合成。
回复

使用道具 举报

结帖率:83% (43/52)

签到天数: 11 天

发表于 昨天 14:14 | 显示全部楼层   河北省衡水市
111.e (9.9 KB, 下载次数: 2)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备2025452707号) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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