我必须在Ruby中实现一些基于Java实现的代码,这些代码已在公司中完成。部分Java代码可用于检查字符串是否使用org.apache.commons.codec.binary.Base64库中的Base64.isArrayByteBase64(aInput)进行base64编码。
我确实看到Ruby的标准库包含一个模块Base64,用于对Base64进行编码和解码。但我没有看到Ruby内置的任何功能,它检查特定字符串是否是Base64编码。那里有没有其他图书馆/宝石符合我的要求?
提前致谢。
答案 0 :(得分:4)
您可以使用正则表达式快速检查。像[A-Za-z0-9+\/]+={0,3}
这样的东西非常接近。然后检查长度是否可被4整除。
答案 1 :(得分:0)
%r{^(?:[a-zA-Z0-9+/]{4})*(?:|(?:[a-zA-Z0-9+/]{3}=)|(?:[a-zA-Z0-9+/]{2}==)|(?:[a-zA-Z0-9+/]{1}===))$}
是rfc4648的正确正则表达式。