Python中是否有RFC4648(“Base16,Base32和Base64数据编码”)的实现? 注意,我特意寻找RFC 4648,而不是它的前身。只要不花太长时间,其他脚本语言就可以工作。 Python是首选。
答案 0 :(得分:3)
Python有一个base64模块,它实现了RFC 3548(RFC 4648的旧版本)。
答案 1 :(得分:1)
Ruby在Base64#strict_decode64
和Base64#strict_encode64
方法中实现了RFC 4648。 Source.
答案 2 :(得分:0)
还有一个字符串操作数版本的base64:
a_str = 'This is a string'
a_str.encode('base64', 'strict')
'VGhpcyBpcyBhIHN0cmluZw==\n'
它和base64.b64encode一样,但我想我会把它作为一个选项扔进去。
您正在寻找的是常规base64模块的“扩展十六进制”,我记得我曾经为DNSSEC项目安装了一段时间:http://bugs.python.org/issue16995
答案 3 :(得分:0)
答案 4 :(得分:0)
使用https://golang.org/src/encoding/base32/base32.go
时我无法找到RFC 4648所指的python实现" Base 32编码扩展十六进制字母&#34 ;;所以我为python写了一个:
https://gist.github.com/graham/d7845f00fce0690b65ab049d52c1ddcb
据我所知,如果使用标准字符映射,RFC 3548并没有区别,但我无法找到使用扩展十六进制字母表的标准方法。
如果人们认为这是一个合理的解决方案,请随意复制粘贴,我会写一些测试并创建一个git repo。