python - 从 unicode 字符串中获取十六进制的 UTF-8 字符序列

标签 python python-2.7 utf-8

假设我有一个 UTF-8 字符串:

u"Some String"

现在我想要的就是将上面的这个字符串转换为 UTF-8 字符的字符串,但以十六进制表示,所以它看起来像这样:

"53 6F 6D 65 20 53 74 72 69 6E 67"

如何在 Python 2.7 中实现这一目标?

最佳答案

我将在列表理解中使用 joinformat 构建字符串,迭代字符并使用 ord 获取其代码:

s = u"Some String"

print(" ".join(["{:02X}".format(ord(c)) for c in s]))

结果:

53 6F 6D 65 20 53 74 72 69 6E 67

注释

  • 适用于 Python 2 和 3
  • 如果您的角色的代码 > 255,您可能会得到大小大于 2 的标识符,但它仍然有效。

关于python - 从 unicode 字符串中获取十六进制的 UTF-8 字符序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43504110/

相关文章:

python - 如何使用周期性值列拆分 pandas 数据框

python - Pandas 从列表字典中创建一个 df

python-2.7 - 导入 matplotlib._png 作为 _png 导入 : Error: DLL load failed: The specified module could not be found

python - Python strip( ) 函数出错

python - 如何安装py2app

python - "# -*- coding: utf-8 -*-","from __future__ import unicode_literals"和 "sys.setdefaultencoding("utf 8")"有什么区别

javascript - 在 Javascript 中将 ISO/Windows 字符集转换为 UTF-8

php - mysql:在每个连接上设置名称 utf8?

python - 如果数据框A列中的值为空,则将B列中的值写入A列

python - 我将如何在 python 中制作自定义错误消息