【问题标题】:How can I render percent encoding in command line?如何在命令行中呈现百分比编码?
【发布时间】:2012-12-14 06:10:11
【问题描述】:

我经常有一个字符串“百分比编码”,例如%D1%84%D0%B0%D0%B9%D0%BB,如果它是链接的一部分,现代浏览器会正确呈现为файл

我想知道:有没有一种简单的方法可以通过使用sed 或其他命令行工具来“呈现”具有上述百分比编码的文本文件(或简单地以百分比编码的输入字符串)?

另见this related question

【问题讨论】:

    标签: ubuntu unicode sed command-line-interface


    【解决方案1】:

    Python 可以使用urllib.unquote_plus

    #!/usr/bin/env python2
    
    import sys
    import urllib
    
    print urllib.unquote_plus("%D1%84%D0%B0%D0%B9%D0%BB")
    

    您可以设置别名以使用快速 cli 命令: http://ruslanspivak.com/2010/06/02/urlencode-and-urldecode-from-a-command-line/

    【讨论】:

    • 太好了,谢谢!任何快速的方法来解析一个混合了这些百分比编码的文本文件,并让它只改变它们?喜欢查找和替换?
    • unquote_plus 仅将 %XX+ 解码为空格。您可以将其应用于整个文本文件。如果包含+你想保留,也可以使用普通的unquotedocs.python.org/2/library/urllib.html#utility-functions
    • 我对 Python 不是很熟悉,你能告诉我应该对文本文件而不是字符串应用什么命令吗?
    • 您可以使用open(filename, 'r') 打开一个文件,然后您可以使用for line in f: 对其行进行迭代(如链接中所示)并在每一行上分别应用取消引用。您还需要在最后关闭文件。
    猜你喜欢
    • 2012-12-14
    • 2018-09-09
    • 2023-04-03
    相关资源
    最近更新 更多