xtf12138 发表于 2023-6-12 13:17

求助!易语言解析网站时偶尔乱码的问题

代码是用E2EE执行GET来访问Url,再通过字节集取中间从而获得需要的Json。出现的问题是最后取出的 title 有的时候会是乱码的,有的时候是正常的(有时候显示乱码了,重新运行一遍结果又正常了。)
请问偶尔乱码这个问题要怎么解决?如果不能从源头解决,有没有办法把运行结果是乱码的 title 识别出来,并加以拦截。{:17_1065:}


.版本 2
.支持库 e2ee
.支持库 spec

.局部变量 e2ee, 网站客户端
.局部变量 键值表, 存取键值表
.局部变量 url, 文本型
.局部变量 小红书链接, 文本型
.局部变量 ret_bin, 通用型
.局部变量 temp_bin, 字节集

url = “https://www.xiaohongshu.com/explore/640067a100000000270119b5”
e2ee.执行GET (url, ret_bin, 假, )
temp_bin = 字节集_取中间 (ret_bin, 到字节集 (#常量1), 到字节集 (#常量2), ) + 到字节集 (#常量2)
temp_bin = 字节集_取中间 (temp_bin, 到字节集 (#常量1), 到字节集 (#常量2), ) + 到字节集 (“}”)
写到文件 (取运行目录 () + “\json.txt”, temp_bin)
键值表.从文件载入 (取运行目录 () + “\json.txt”, )
调试输出 (键值表.取文本 (“//title”))
.版本 2

xtf12138 发表于 2023-6-12 13:37


这两个是正常和乱码的Json,txt内容和E2EE.Json助手解析结果都没啥区别,也是显示正常的。但是在易语言中用键值表.从文件载入 (取运行目录 () + “\json.txt”, )再取值调试输出就会出现一个乱码而另一个不乱码。。。

调味包 发表于 2023-6-12 16:41

不应该先指定下编码吗

xtf12138 发表于 2023-6-12 17:28

调味包 发表于 2023-6-12 16:41
不应该先指定下编码吗

请问如何指定编码呀,萌新不懂就问{:17_1074:}

调味包 发表于 2023-6-12 19:31

var f: File;
f.Open("json.txt", OpenMode.Read, EncodingType.UTF8);// 指定编码方式为UTF-8
试试看这是gpt给的答复

调味包 发表于 2023-6-12 19:32

或者是
var f: File;
f.Open("json.txt", OpenMode.Read);

var content := f.ReadAll();// 不指定编码方式读取

// 将数据从GB2312转换为UTF-8
var utf8_content := Encoding.Convert(Encoding.GB2312, Encoding.UTF8, content);

// 使用转换后的数据进行后续操作

pap 发表于 2023-6-13 08:09

添加精易模块 编码_GB2312到uft-8

fengxingshijie 发表于 2023-6-13 11:11

有可能是少模块了。可以试试添加看看
页: [1]
查看完整版本: 求助!易语言解析网站时偶尔乱码的问题