我正在開發一個Web應用程序,我必須在代碼的JavaScript端和Ruby後端對字符串進行編碼和解碼。唯一的問題是JavaScript和Ruby的轉義方法有一點小差異。在JavaScript中," "
被視爲"%20"
,但在紅寶石中," "
被編碼爲"+"
。如何在JavaScript和Ruby中對原始URL進行編碼/解碼以在兩者中獲得相同的值?
有什麼辦法解決這個問題?另一個Ruby方法在原始URL編碼中對字符串進行編碼?
經過一些硒測試後,我注意到由於某種原因,URI.unescape
在"£"
和"?"
之間混合。如果我在JavaScript中使用encodeURIComponent("£");
,然後在Ruby中使用URI.unescape("%C2%A3")
,這是我們在編碼"£"
符號時得到的值,我得到返回的"?"
符號。任何解決方案
感謝,但由於某些原因, 「URI.escape(FOO,Regexp.new([^#{URI :: PATTERN ::毫無保留}]」))」不工作對我來說,它提供了一個錯誤和頁面無法加載時,它調用它。我已經要求'uri'在類的頂部。謝謝 – 2010-05-14 14:30:19
我只在一個.rb文件中嘗試過,像一個魅力那裏工作.. – 2010-05-14 14:31:29
剛剛得到它工作,我是白癡,我是在unescape中有Regexp.new(「[^#{URI :: PATTERN :: UNRESERVED}]」)以及當你一直在看代碼時會發生什麼現在可以正常工作了 – 2010-05-14 14:45:20