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

时间:2017-04-19 19:07:28

标签: 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中实现这一目标?

1 个答案:

答案 0 :(得分:3)

我会在列表理解中使用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的标识符,但它仍然有效。