python - python将十六进制字符串编码/解码为utf-8字符串
问题描述
我试图在 python 中解码一个十六进制字符串。
value = ""
for i in "54 C3 BC 72 20 6F 66 66 65 6E 20 4B 6C 69 6D 61".split(" "):
value += chr(int(i, 16))
print(value)
结果:
Tür offen Klima
预期结果应该是“Tür offen Klima” 我怎样才能使它正常工作?
解决方案
您的数据被编码为 UTF-8,这意味着您有时必须查看多个字节才能获得一个字符。最简单的方法可能是将字符串解码为字节序列,然后将这些字节解码为字符串。Python 具有以下两种内置功能:
value = bytes.fromhex("54 C3 BC").decode("utf-8")
推荐阅读
- android - 水平/垂直间距在 Android 上无法正常工作
- excel - 一行括号内的多余字符
- java - 按值排序映射接口
- python - 多个列表的组合
- java - Jshell如何在行尾没有分号的情况下工作
- c++ - VS 2010 dll .data 部分在 VS 2017 中更改,搜索嵌入数据
- javascript - 你能帮我用来自对象的数据预填充一个选项框吗?
- sqlite - 仅返回数字结果的情况
- unity3d - Hololens、Unity 和空间映射来引导用户到某个位置
- java - 为什么 Javas Collections 框架二分搜索使用迭代器来搜索大列表中的元素