【发布时间】:2015-05-27 08:19:41
【问题描述】:
我可能会收到这两个字符串:
base = Base64.encode64(File.open("/home/usr/Desktop/test", "rb").read)
=> "YQo=\n"
string = File.open("/home/usr/Desktop/test", "rb").read
=> "a\n"
到目前为止,我尝试的是使用正则表达式 i-e 检查字符串。 /([A-Za-z0-9+\/]{4})*([A-Za-z0-9+\/]{4}|[A-Za-z0-9+\/]{3}=|[A-Za-z0-9+\/]{2}==$)/ 但如果文件很大,这会很重。
我也尝试过base.encoding.name 和string.encoding.name,但都返回相同的结果。
我也见过this post 并得到了正则表达式解决方案,但还有其他解决方案吗?
有什么想法吗?我只想得到的是字符串实际上是文本还是base64编码的文本......
【问题讨论】:
-
请再次阅读我已更新的问题。我已经看过那个帖子了
-
"但是如果文件很大,这会很重。"不幸的是,没有其他方法可以知道。这句话是有效的英语 skagpoople 吗?你不知道,直到你在其中找到一些告诉你它不是的东西。这与
String#encoding报告的“编码”不同——即字符编码,而不是您感兴趣的文件格式。
标签: ruby-on-rails ruby base64