gpt4 book ai didi

python - 将十六进制转换为 Base64 的项目

转载 作者:太空宇宙 更新时间:2023-11-03 15:45:48 27 4
gpt4 key购买 nike

这是一项家庭作业,所以如果您不想帮忙,我理解。然而,我并不是在寻找算法,而是在寻找 Python 的帮助。我擅长 C++,但本学期我的几门类(class)使用的是 Python,所以我想练习一下。

这是我迄今为止所做的工作...它有效,但我想在程序中添加一些检查,例如检查以确保初始输入采用十六进制格式。

将字符串转换为列表并从那里进行检查是否有效?

感谢您的帮助,

import binascii #used to convert from hexadecimal to binary
import base64 #used to convert from binary to base64


"""
get hexadecimal value
convert to binary
convert to base64
"""

#conversions
hexa = input("Enter a hexadecimal value: ")
bina = binascii.unhexlify(hexa)
Base64 = base64.b64encode(bina)

#print
print(Base64)

#exit program
input("Exit...")

最佳答案

有两件事:

  1. 如果输入包含错误,unhexlify 将引发异常。您可以捕获此异常,例如继续循环。

    >>> try:
    ... binascii.unhexlify('tsst')
    ... except binascii.Error as e:
    ... print(f'Invalid input ({e}). Please try again:', file=sys.stderr)
    ...
    Invalid input (Non-hexadecimal digit found). Please try again:
  2. 您可以迭代字符串的字符,因此无需将其转换为列表。

    >>> import string
    >>> all(c in string.hexdigits for c in 'cafebabe')
    True

关于python - 将十六进制转换为 Base64 的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41769465/

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