很多时候,我们需要处理不总是具有常规ASCII字符的数据。例如,使用英语以外的其他语言的电子邮件。Python具有通过使用基于MIME(多用途Internet邮件扩展)的模块来处理此类字符的机制。在本文中,我们将看到如何在电子邮件或其他直接输入中解码此类字符。
电子邮件软件包具有mime和charset模块,它们可以执行编码和解码工作,如下例所示。我们已接收了包含Unicode字符的电子邮件,然后将其编码为utf-8。
import email.mime, email.mime.nonmultipart, email.charset msg=email.mime.nonmultipart.MIMENonMultipart('text', 'plain', charset='utf-8') #构造一个新的字符集 cs=email.charset.Charset('utf-8') cs.body_encoding = email.charset.QP # 使用新的字符集设置内容 msg.set_payload(u'This is the text containing ünicöde', charset=cs) print(msg)
运行上面的代码给我们以下结果-
输出结果
Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable This is the text containing =C3=BCnic=C3=B6de
此python模块执行带引号的可打印传输编码和解码。带引号的可打印编码是为不可打印字符相对较少的数据而设计的。在下面的示例中,我们看到了如何使用非常规ASCII字符编码和解码字符串。
import quopri str1 = 'äé' #encoded = quopri.encodestring('äé'.encode('utf-8')) encoded = quopri.encodestring(str1.encode('utf-8')) print(encoded) str2 = '=C3=A4=C3=A9' decoded_string = quopri.decodestring(str2) print(decoded_string.decode('utf-8'))
运行上面的代码给我们以下结果-
输出结果
b'=C3=A4=C3=A9' äé
本文向大家介绍使用Python xdrlib编码和解码XDR数据,包括了使用Python xdrlib编码和解码XDR数据的使用技巧和注意事项,需要的朋友参考一下 外部数据表示(XDR)的编码器和解码器。当我们在不同的外部源之间传输数据时,这是常用的格式。它对于创建和传输复杂的数据结构很有用。XDR提供与OSI表示层关联的服务。 在下面的程序中,我们看到如何使用xdrlib模块打包和解压缩数据。
问题内容: 我正在寻找一种在Java中编码字符串的方法,就像php的本机函数一样。 我试图使用JavaMails的MimeUtility库。但是我无法使该方法起作用,因为它采用OutputStream作为输入而不是字符串(我使用该函数转换了字符串)并输出了无法返回字符串的内容(我是Java noob :) 谁能给我提示如何编写将字符串转换为OutputStream并在编码后将结果输出为String
目前,该电子邮件显示了有关MimeBodyPart的以下标题: 标题部分应显示以下内容: 下面是我如何尝试强制引用可打印的内容: 如何强制内容传输编码可引用打印?我正在连接我的gmail邮件服务器idk,如果这有什么区别的话。也许这个标题会被谷歌覆盖。
问题内容: 好的,所以我要把握机会,这里的某个人以前使用过zxing。我正在开发Java应用程序,它需要做的一件事是将字节数据数组编码为QR码,然后在以后对其进行解码。 这是我的编码器外观的示例: 此代码中的开始字节数组仅用于对其进行测试。实际的字节数据将有所不同。 这是我的解码器的外观: 是一种将字节数组转换为十六进制字符串的方法。 当我尝试同时运行这两个代码块时,输出如下: 显然,文本已被编码
这是我的源代码 但是结果条形码没有显示出来,是不是漏了什么 请帮帮我 但当我尝试时,还是得到了同样的结果
问题内容: 我有一个像这样的字符串: 我想加密要在干净URL中使用的字符串A。像这样的东西: 给定字符串A,python中是否有编码API,它返回字符串B?给定字符串B,python中是否有解码API,它返回字符串A? 问题答案: 进行编码/解码的一种方法是使用包base64,例如: 是您要找的东西吗?对于您的特殊情况,您将获得: 输入:12234_1_Hello’World_34433_22ac