快速引用和取消引用的网址。

urlquote的Python项目详细描述


urlquote

python的快速百分比编码/解码。

此库不打算替代urlliburllib是python标准库的一部分,您应该选择引用和取消引用url。但是,如果url的引用或不引用被认为是性能瓶颈,并且您可以使用下面描述的编码,那么一定要使用这个库。

用法

fromurlquoteimportquotequoted=quote('/El Niño/')assert(quoted=='/El%20Ni%C3%B1o/'.encode('utf-8'))

兼容性

由于这个库使用一个cffi接口,所以它应该可以在任何版本的python中正常工作。对于linux,必须根据libc older版本或与使用控制盘的平台上的libc版本相同的版本来构建控制盘。

安装

pip install urlquote

quote对utf-8编码字节进行操作。如果传递一个字符串,它将首先将其编码为utf-8。它将始终返回utf-8编码字节。unquote的行为方式相同。

编码

提供以下编码。DEFAULT_QUOTING用于未指定引用参数的情况。

NameAdditional encoded characters
SIMPLE_QUOTING
DEFAULT_QUOTINGspace, ^{},^{},^{},^{},^{},^{}
QUERY_QUOTINGspace, ^{},^{},^{},^{}
PATH_SEGMENT_QUOTINGspace, ^{},^{},^{},^{},^{},^{},^{},^{}
USERINFO_QUOTINGspace, ^{},^{},^{},^{},^{},^{},^{},^{},^{},^{},^{},^{},^{},^{},^{},^{},^{},^{}
PYTHON_3_7_QUOTINGspace, ^{},^{},^{},^{},^{},^{},^{},^{},^{},^{},^{},^{},^{},^{},^{},^{},^{},^{},^{},^{},^{},^{},^{},^{},^{},^{},^{}

不可打印和非标准的ascii字符总是被引用。在每一个python版本中,PYTHON_3_7_QUOTING的工作方式都是相同的,名称只指python 3.7中使用的urllib默认编码。

开发

这个库是一个包裹在生锈的板条箱^{}周围的薄包装。它通过使用^{}的c接口向python公开部分功能。

要构建它,您需要install Rust and Cargo。然后您就可以继续使用:

python setup.py build sdist bdist_wheel

要执行python测试,请使用:

pip install -e .
pytest test.py

也有一些只生锈的单元测试。要执行它们,请切换到rust子目录并调用。

cargo test

安装了夜班工具链后,您还可以使用以下命令调用Rust Only基准:

cargo +nightly bench

支架

这个工具是在麻省理工学院的许可下提供的,没有任何保证或sla。您可以将它作为任何用途的一部分使用,但操作它的责任在于您。我们很感激你的反馈。欢迎对github的贡献。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java无法使用JAXB配置Moxy   java如何让我的简单Swing telnet客户端正确显示字符?   java中从可运行线程调用主线程的多线程处理   java数据源。EBJ3会话bean中的getConnection()   使用java和正则表达式从xml文件提取值时出现问题   java定制Jersy胡须Mvc   在Java中,“限制并发”是什么意思?   java有没有更干净的方法可以在这里使用Optional,而不在三个地方返回“NA”?   java Tomcat启动,然后崩溃,除非我打电话   java理解客户机和服务器   java时间戳将在视图对象>实体转换期间丢失   如何在java中返回布尔值(基元)?   java使用spring mvc设置日志记录,希望仅对我的代码进行跟踪/调试   用Jackson解析嵌套对象