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

如何在Godot中实现Python的a2b_hex()功能?

在Godot中实现Python的a2b_hex()功能

要实现和Python a2b_hex() 完全一致的效果——将十六进制字符串转换为对应的字节序列,可以用GDScript编写如下函数:

func a2b_hex(hex_str: String) -> PackedByteArray:
    var byte_array = PackedByteArray()
    
    # 严格遵循Python逻辑:输入字符串长度必须为偶数
    if hex_str.length() % 2 != 0:
        push_error("Hex string length must be even")
        return byte_array
    
    # 逐组转换十六进制字符为字节
    for i in range(0, hex_str.length(), 2):
        # 提取两位十六进制字符,统一转为大写避免大小写问题
        var hex_pair = hex_str.substr(i, 2).to_upper()
        # 将十六进制字符串转为十进制整数,再添加到字节数组
        byte_array.append(int(hex_pair, 16))
    
    return byte_array

测试示例

用你提供的输入测试:

var input_hex = "000100007AD59C7918B839F02C8483CFEA1ECBDA"
var result = a2b_hex(input_hex)

# 验证输出(可打印每个字节的十六进制转义格式)
for byte in result:
    print("\\x%02X" % byte)

运行后得到的PackedByteArray和Python a2b_hex()返回的bytes对象完全等价,Godot的PackedByteArray可以直接用于字节流操作、文件读写等场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 10:55:15