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

如何用Pythonic方式将UTF-8字符串编码为ASCII/十六进制并还原?

解决ASCII数据库存储UTF-8字符串的问题

你之前的思路是对的——把UTF-8数据转成十六进制(全ASCII字符)存储,但搞反了encode和decode的顺序,导致结果不对。正确的处理流程如下:

存储操作

先把Unicode字符串编码成UTF-8字节流,再转成十六进制格式的ASCII字符串,这样就能存入仅支持ASCII的数据库:

original_string = 'Parabéns'
# 步骤:Unicode字符串 → UTF-8字节 → 十六进制ASCII字符串
hex_string = original_string.encode('utf-8').hex()
database.store(hex_string)

取回还原操作

从数据库取出十六进制字符串后,先转回字节流,再解码成Unicode字符串:

retrieved_hex = database.retrieve(storage_location)
# 步骤:十六进制ASCII字符串 → UTF-8字节 → Unicode字符串
final_string = bytes.fromhex(retrieved_hex).decode('utf-8')

核心逻辑就是:字符串→字节(UTF-8)→十六进制(存库);取库→十六进制→字节(UTF-8)→字符串,别搞反编码解码的顺序就行。

内容的提问来源于stack exchange,提问作者Mr. T

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 04:22:13