ruby encode

群里有个人要encode url,但是不想把“#”给encode,所以晚上搜了一下,发现encode函数可以跟一个正则作为参数,表示那些不希望被encode的东西,而且有个常量URI::PATTERN::UNRESERVED
 => "-_.!~*'()a-zA-Z\\d"

表示那些不被encode的符号,

加上#就可以了

URI.encode("#b=阿!",Regexp.new("[^#{URI::PATTERN::UNRESERVED+'#'}]"))
 => "#b%3D%E9%98%BF!"

你可能感兴趣的:(encode)