开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 922|回复: 9
收起左侧

[已解决] 一个python代码,有高手能帮我转成易语言嘛

 关闭 [复制链接]
结帖率:100% (2/2)
发表于 2024-5-9 01:17:31 | 显示全部楼层 |阅读模式   浙江省温州市
14精币
python代码如下:

import base64
Rename="00BFAD00"
Discover = bytes.fromhex(Rename)
print("字节串:", Discover)
Discover1 = base64.b32encode(Discover)
print("Base32编码:", Discover1)

这是输出的结果:
字节串: b'\x00\xbf\xad\x00'
Base32编码: b'AC722AA='

我的问题是要在易语言里面  实现  输入  00BFAD00  然后  返回 Base32编码  AC722AA=



最佳答案

查看完整内容

精益模块 Base32Encode( 字节集_十六进制到字节集("00BFAD00"))

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

签到天数: 20 天

发表于 2024-5-9 01:17:32 | 显示全部楼层   浙江省杭州市
406873828 发表于 2024-5-9 16:11
00BFAD00

我需要的是输入这个,然后执行。

精益模块  Base32Encode(   字节集_十六进制到字节集("00BFAD00"))

评分

参与人数 1荣誉 +1 收起 理由
笨潴 + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!

查看全部评分

回复

使用道具 举报

结帖率:100% (45/45)

签到天数: 20 天

发表于 2024-5-9 02:10:02 | 显示全部楼层   江西省赣州市
自己查下base32原理,肯定有代码
回复

使用道具 举报

签到天数: 2 天

发表于 2024-5-9 02:55:44 | 显示全部楼层   广东省揭阳市
可以让ai来帮你转的亲
回复

使用道具 举报

结帖率:54% (7/13)

签到天数: 20 天

发表于 2024-5-9 04:17:16 | 显示全部楼层   浙江省嘉兴市
这就有是把原始的十六进制字符串被转换成字节串,然后这个字节串被转换成Base32编码的字符串
回复

使用道具 举报

签到天数: 20 天

发表于 2024-5-9 06:10:41 | 显示全部楼层   河北省石家庄市
[JavaScript] 纯文本查看 复制代码
var H2b32 = function(srcStringH) {
    srcString = hex2a(srcStringH);
    var BASE32CHAR = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";
    var i = 0;
    var index = 0;
    var digit = 0;
    var currByte;
    var nextByte;
    var retrunString = '';
   
    for (var i = 0; i < srcString.length; ) {
        currByte = srcString
        if (index > 3) {
            if ((i + 1) < srcString.length) {
                nextByte = srcString[i + 1]

            } else {
                nextByte = 0;
            }

            digit = currByte & (0xFF >> index);
            index = (index + 5) % 8;
            digit <<= index;
            digit |= (nextByte >> (8 - index));
            i++;
        } else {
            digit = (currByte >> (8 - (index + 5))) & 0x1F;
            index = (index + 5) % 8;

            if (index == 0) {
                i++;
            }
        }
        retrunString = retrunString + BASE32CHAR.charAt(digit);
    }
            while((retrunString.length % 8) !== 0){
                retrunString += "=";
            }

    return retrunString;
}


function hex2a(hexx) {
    var hex = hexx.toString();//force conversion
    
    var str_list = [];
    for (var i = 0; (i < hex.length ); i += 2)
        str_list.push(parseInt(hex.substr(i, 2), 16));
    
    return str_list;
}



测试了下,你这个编码没问题,只不过你要多测试下各种,因为要修改原版的,没搜到直接16进制编码的,如果有问题就自己改改吧

源码放这里了,网页直接复制可能会出错,下载下边的  txt吧
hex2base32.txt (1.33 KB, 下载次数: 3)
回复

使用道具 举报

结帖率:100% (20/20)

签到天数: 20 天

发表于 2024-5-9 09:53:22 | 显示全部楼层   浙江省杭州市
  
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
调试输出 (Base32Encode ({ 0, 191, 173, 0 }))  ' 00BFAD00
开始运行被调试程序
* “AC722AA=”
被调试易程序运行完毕


i支持库列表   支持库注释   
spec特殊功能支持库


1.e (11.18 KB, 下载次数: 7)
回复

使用道具 举报

结帖率:100% (20/20)

签到天数: 20 天

发表于 2024-5-9 14:11:49 | 显示全部楼层   浙江省杭州市
- -你把下面这段注释掉啊  



开始运行被调试程序
* “AC722AA=”
被调试易程序运行完毕
回复

使用道具 举报

结帖率:100% (2/2)

签到天数: 17 天

 楼主| 发表于 2024-5-9 16:11:47 | 显示全部楼层   浙江省温州市
b0y 发表于 2024-5-9 14:11
- -你把下面这段注释掉啊  

00BFAD00

我需要的是输入这个,然后执行。
回复

使用道具 举报

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

本版积分规则 致发广告者

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

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

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