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

Python读取SQL Server rowversion类型bytes数据如何转指定十六进制字符串

Python中SQL Server rowversion类型bytes转十六进制方案

核心实现

你需要的是字节到十六进制字面量的转换,不需要做任何字符编解码操作,直接使用Python内置的字节处理方法即可实现:

方案1(Python 3.5+ 推荐)

直接调用bytes对象内置的hex()方法,拼接0x前缀即可:

# 示例输入:读取到的rowversion原始bytes
rowversion_data = b'\x00\x00\x00\x00\x00\x00\x18\x9c'
# 转换为目标格式
result = f"0x{rowversion_data.hex()}"
# 输出结果:0x000000000000189c
print(result)

方案2(兼容低版本Python)

使用标准库binascii实现转换:

import binascii
rowversion_data = b'\x00\x00\x00\x00\x00\x00\x18\x9c'
hex_part = binascii.hexlify(rowversion_data).decode('ascii')
result = f"0x{hex_part}"

注意说明

之前尝试编解码失败的原因是:字符编解码是将二进制字节按编码规则映射为自然语言文本,而rowversion是SQL Server内部维护的二进制版本标识,本身不对应任何文本字符,自然无法通过编解码得到预期结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 02:06:01