0

我一直在阅读uuencoding并想知道如何使用 Python 解码此链接中给出的以下示例。

https://en.wikipedia.org/wiki/Uuencoding

原文:猫

未编码文本:#0V%T

蟒蛇2

$ python -c 'print "Cat".encode("uu")'
begin 666 <data>
#0V%T

end

$

蟒蛇 3

$ python3 -c "from codecs import encode;print(encode(b'Cat', 'uu'))"
b'begin 666 <data>\n#0V%T\n \nend\n'
$
4

1 回答 1

0

它只是原始函数的反函数......

让我试着给你看。我将使用 2 种常见的编码类型 uu 和 base-64。

蟒蛇 3

from codecs import decode,encode
import uu

orig="Cat"
encoding_types=['uu','base-64']
for et in encoding_types:
    enc_data=encode(orig.encode(),et)
    un_enc_data=decode(enc_data,et)
    print("\n\nEncoding  : {}".format(et))
    print("Orig          : {}".format(orig))
    print("Encoded       : {}".format(enc_data))
    print("byte UnEncoded: {}".format(un_enc_data))
    print("utf8 UnEncoded: {}".format(un_enc_data.decode()))

这应该输出

Encoding  : uu
Orig          : Cat
Encoded       : b'begin 666 <data>\n#0V%T\n \nend\n'
byte UnEncoded: b'Cat'
utf8 UnEncoded: Cat


Encoding  : base-64
Orig          : Cat
Encoded       : b'Q2F0\n'
byte UnEncoded: b'Cat'
utf8 UnEncoded: Cat

我们需要最终的 .decode(),因为我们最初使用 encode() 将 str 数据对象转换为字节。

于 2018-06-24T02:25:11.130 回答