我可能会收到这两个字符串:
ItemSource
我到目前为止所尝试的是用正则表达式i-e检查字符串。 @font-face {
font-family: 'MyWebFont';
src: url('webfont.eot'); /* IE9 Compat Modes */
src: url('webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('webfont.woff2') format('woff2'), /* Super Modern Browsers */
url('webfont.woff') format('woff'), /* Pretty Modern Browsers */
url('webfont.ttf') format('truetype'), /* Safari, Android, iOS */
url('webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
}
但如果文件很大,这将非常重。
我也尝试了 base = Base64.encode64(File.open("/home/usr/Desktop/test", "rb").read)
=> "YQo=\n"
string = File.open("/home/usr/Desktop/test", "rb").read
=> "a\n"
和/([A-Za-z0-9+\/]{4})*([A-Za-z0-9+\/]{4}|[A-Za-z0-9+\/]{3}=|[A-Za-z0-9+\/]{2}==$)/
但两者都返回相同的内容。
我还看过this post并获得正则表达式解决方案,但是还有其他任何解决方案吗?
有什么想法吗?我只想得到的是字符串实际上是text或base64编码的文本....
答案 0 :(得分:3)
你可以使用这样的东西,性能不是很好,但保证不会出现误报:
require 'base64'
def base64?(value)
value.is_a?(String) && Base64.encode64(Base64.decode64(value)) == value
end