2011-02-06 96 views
0

我想弄清楚如何以類似於Facebook's signed_request的方式對會話cookie進行編碼。'unpack(「m」)`的反義詞是什麼?

The runwithfriends Facebook sample appimplements base64_url_decode & base64_url_decode in Python

我發現一個簡單的實施base64_url_decode

def base64_url_decode(string) 
    "#{string}==".tr("-_", "+/").unpack("m")[0] 
end 

如何實現base64_url_encode瓦特/ O require 'base64'。 (我認爲最好是沒有require 'base64',對嗎?)

基本上,unpack("m")的反義詞是什麼?

ruby-1.9.2-p0 > "aGVsbG8sIG1ycyB0ZWFs\012".unpack("m") 
=> ["hello, mrs teal"] 

回答

3
查看

Base64.encode64源從the documentation收率:

# File base64.rb, line 37 
def encode64(bin) 
    [bin].pack("m") 
end 

是的,unpack對面是pack

+0

對於SO最明顯的問題/答案,我見過..D但是不,另一個是*什麼是Ruby中的[[]]?* – Nakilon 2011-02-06 19:51:18

+0

哦!哈哈。謝謝!我在找Sting#pack。 – ma11hew28 2011-02-06 19:51:59

1

解包(「m」)的反義詞是什麼?

當然是pack("m")?或者這是個詭計問題?

["hello, mrs teal"].pack("m") # => "aGVsbG8sIG1ycyB0ZWFs\n" 
相關問題