gpt4 book ai didi

python - 如何判断一个字符串是不是base64

转载 作者:太空狗 更新时间:2023-10-29 22:00:11 26 4
gpt4 key购买 nike

我有很多来自不同来源的电子邮件。他们都有附件,其中很多都有中文附件名称,所以这些名称由他们的电子邮件客户端转换为 base64。

当我收到这些电子邮件时,我希望对名称进行解码。但还有其他名字不是 base64。 jython编程语言如何区分字符串是否为base64?

即。

第一个附件:

------=_NextPart_000_0091_01C940CC.EF5AC860
Content-Type: application/vnd.ms-excel;
name="Copy of Book1.xls"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="Copy of Book1.xls"

第二个附件:

------=_NextPart_000_0091_01C940CC.EF5AC860
Content-Type: application/vnd.ms-excel;
name="=?gb2312?B?uLGxvmhlbrixsb5nLnhscw==?="
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="=?gb2312?B?uLGxvmhlbrixsb5nLnhscw==?="

请注意“Content-Transfer-Encoding”都有base64

最佳答案

header 值告诉您:

=?gb2312?B?uLGxvmhlbrixsb5nLnhscw==?="=?"     introduces an encoded value"gb2312" denotes the character encoding of the original value"B"      denotes that B-encoding (equal to Base64) was used (the alternative          is "Q", which refers to something close to quoted-printable)"?"      functions as a separator"uLG..." is the actual value, encoded using the encoding specified before"?="     ends the encoded value

所以 split “?”实际上让你得到这个(JSON 符号)

["=", "gb2312", "B", "uLGxvmhlbrixsb5nLnhscw==", "="]

在结果数组中,如果“B”在位置 2,你面对的是位置 3 的 base-64 编码字符串。解码后,一定要注意位置 1 的编码,可能是最好使用该信息将整个内容转换为 UTF-8。

关于python - 如何判断一个字符串是不是base64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/271657/

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