[topic] URL特殊文字のエスケープ
Posted feedbacks - Haskell
Network.URIモジュールの escapeURIString を使います.このモジュールは, RFC3986に準拠しています. ewcapeURIString の型は (Char -> Bool) -> String -> String で, 第一引数にEscapeしなくてよい文字を判定する述語を渡します. *Main> mapM_ putStrLn $ [ escape p x | p <- [isUnreserved,isAllowedInURI,isUnescapedInURI], x <- [sample0, sample1]] ~url%20quote%2F%E3%81%BB%E3%81%92 %21%28foo%2A%29 ~url%20quote/%E3%81%BB%E3%81%92 !(foo*) ~url%20quote/%E3%81%BB%E3%81%92 !(foo*)
1 2 3 4 5 6 7 8 9 10 | import Network.URI
import Codec.Binary.UTF8.String
import qualified System.IO.UTF8 as U
escape p = escapeURIString p . encodeString
unescape = decodeString . unEscapeString
sample0 = "~url quote/ほげ"
sample1 = "!(foo*)"
|



にしお
#4156()
Rating0/0=0.00
URL用に特殊な文字をエスケープする。
[ reply ]