星期四, 6月 23, 2011

在 Emacs 上做 urldecode

當在 url 上看到 類似 %E6%B5%B7%E7%B6%BF%E5%AF%B6%E5%AF%B6 的字串
這是經過 urlencode 後的字

那如何在 emacs 下可以將 %E6%B5%B7%E7%B6%BF%E5%AF%B6%E5%AF%B6 做 urldecode

在 *scratch* 輸入程式:
(defun my-urldecode (s)
  (interactive "sURL: ")
  (let ((result nil))
    (setf result
          (decode-coding-string
           (apply 'unibyte-string
                  (string-to-list
                   (url-unhex-string s nil)))
           'utf-8))
    (message "%s" result)))


在最後一個括號後 M-x M-e

然後
只要 M-x my-urldecode





輸入 %E6%B5%B7%E7%B6%BF%E5%AF%B6%E5%AF%B6





就可以完成 urldecode





環境:
Windows XP
Emacs 23.1

沒有留言: