媒体处理API中的URL参数需要编码(URL Encode)后才能在接口调用过程中被传输。如果URL Encoding方式不当会导致找不到预期文件。本文介绍媒体处理的URL Encoding方式。

媒体处理URL Encoding方式

媒体处理的URL Encoding基于UTF-8编码,遵循RFC2396标准。例如:您的源串为阿里云/mts HD+.mp4,需要被编码为%E9%98%BF%E9%87%8C%E4%BA%91/mts%20HD%2B.mp4。更多信息,请参见RFC2396

URL Encoding标准对比

媒体处理的URL Encoding遵循RFC2396标准。基于不同标准实现的lib在最终输出的编码上略有区别,主要是对空格和加号(+)采用不同的URL Encoding方式。具体示例如下:
编码标准 空格(' ' 加号('+'
x-www-form-urlencoded '+' '%2B'
说明 x-www-form-urlencoded中空格被转译成加号表示连接,所以加号必须转义。
RFC1738 '%20' '+'
RFC2396 '%20' '%2B'
说明 RFC2396的保留字中包含加号(+),所以加号必须转义。
RFC3986 '%20' '%2B'
说明 RFC3986的保留字中包含mark,所以mark必须转义。RFC2396中mark不强制转义。