gpt4 book ai didi

python - 从字符串中获取字符的十六进制值

转载 作者:行者123 更新时间:2023-11-28 16:45:50 25 4
gpt4 key购买 nike

我目前在我的方法中得到一个字符串作为参数,我想提取 I 索引中的字符并获取它的十六进制值。目前我正在做:

temp = string[i]
binascii.hexlify(temp);

但是我得到一个错误:

TypeError: 'str' does not support the buffer interface

有什么想法吗?

最佳答案

您需要将字符串编码为字节:

binascii.hexlify(temp.encode('ascii'));

您需要选择一种合适的编码,一种可以正确表示您的文本的编码;我假设您的 unicode 字符落在此处的 0-127 范围内。

如果您编码为不同的编码,结果将是该编码的十六进制表示。例如,UTF-8 将为每个字符使用 1 到 6 个字节。

或者,您可以使用 ord() function并将结果格式化为十六进制:

format(ord(temp), 'x')

它适用于任何 unicode 字符。它将使用 Unicode 代码点作为十六进制表示,因此在 1 到 4 个字节之间(后者用于 \Uabcdefgh 宽字符)。根据您的最大字符宽度,您可能需要填充字节以防止代码点不明确;假设您需要编码到代码点 \uffff 那么您需要为每个代码点使用 2 个字节,或 4 个十六进制字符:

format(ord(temp), '04x')

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com