You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python3中实现PHP base_convert()函数的等效功能

PHP base_convert 等效的 Python 实现

PHP 的 base_convert() 函数可实现不同进制数字的转换,但 Python 没有完全对应的内置函数,不过可以通过组合内置方法和自定义逻辑实现等效功能。

等效 Python 函数实现

我们需要先实现一个十进制数转指定进制字符串的辅助函数,再结合 int() 完成完整的进制转换逻辑:

import string

def to_base(num, base):
    if num == 0:
        return '0'
    # 定义36进制字符集:0-9 + a-z
    chars = string.digits + string.ascii_lowercase
    result = []
    while num > 0:
        result.append(chars[num % base])
        num = num // base
    return ''.join(reversed(result))

def my_encoder(in_val):
    # 将输入转为字符串,和PHP处理整数输入的行为对齐
    in_str = str(in_val)
    # 把十六进制格式的字符串转为十进制整数
    decimal_num = int(in_str, 16)
    # 把十进制整数转为36进制字符串
    return to_base(decimal_num, 36)

# 验证测试
print(my_encoder(1234))  # 输出: 3lg

逻辑说明

  1. 输入处理:将输入整数转为字符串,和 PHP 中传入整数时自动转为字符串的逻辑保持一致;
  2. 十六进制转十进制:利用 int(in_str, 16) 把十六进制格式的字符串转换为十进制整数;
  3. 十进制转36进制:通过自定义的 to_base() 函数,借助字符集映射将十进制数转换为小写的36进制字符串,输出格式和 PHP 完全匹配。

内容的提问来源于stack exchange,提问作者Martin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 06:45:04