用C++实现javascript 中的encodeURI功能

来源:百度知道 编辑:UC知道 时间:2024/05/29 04:06:10
encodeURI将文本字符串编码为一个有效的统一资源标识符 (URI)。

encodeURI(URIString)

必选的 URIString 参数代表一个已编码的 URI
encodeURI(url)它不会对url中 特用字符进行编码 包括(? & / = 等),例子:
encodeURI('站名=装饰装修评价网')返回的结果是
%E7%AB%99%E5%90%8D=%E8%A3%85%E9%A5%B0%E8%A3%85%E4%BF%AE%E8%AF%84%E4%BB%B7%E7%BD%91
其中 = 没有被编码,其他都被编码了

麻烦高手指点,最好把代码写出来!
encodeURI() 方法:把URI字符串采用UTF-8编码格式转化成escape格式的字符串。不会被此方法编码的字符:! @ # $& * ( ) = : / ; ? + ' .

实际上就是将字段串进行url编码。

#include <string>
#include <iostream>
using namespace std;

//static const char safe[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1,