#include <iostream>
#include <string>
#include <sstream>
#include <iomanip>
#include <algorithm>
using namespace std;
const char* safe_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~!$&'()*+,;=:@/";
int main()
{
string str = "C:\\user\\ali baba";
replace(str.begin(), str.end(), '\\', '/');
string::size_type pos = 0;
while ((pos = str.find_first_not_of(safe_chars, pos)) != string::npos)
{
ostringstream oss;
oss << '%' << hex << noshowbase << uppercase << (int) str[pos];
string newvalue = oss.str();
str.replace(pos, 1, newvalue);
pos += newvalue.size();
}
str = "file:///" + str;
cout << str;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8c3N0cmVhbT4KI2luY2x1ZGUgPGlvbWFuaXA+CiNpbmNsdWRlIDxhbGdvcml0aG0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAgICAKY29uc3QgY2hhciogc2FmZV9jaGFycyA9ICJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4OS0uX34hJCYnKCkqKyw7PTpALyI7CgppbnQgbWFpbigpCnsKICAgIHN0cmluZyBzdHIgPSAiQzpcXHVzZXJcXGFsaSBiYWJhIjsKICAgIHJlcGxhY2Uoc3RyLmJlZ2luKCksIHN0ci5lbmQoKSwgJ1xcJywgJy8nKTsKCiAgICBzdHJpbmc6OnNpemVfdHlwZSBwb3MgPSAwOwogICAgd2hpbGUgKChwb3MgPSBzdHIuZmluZF9maXJzdF9ub3Rfb2Yoc2FmZV9jaGFycywgcG9zKSkgIT0gc3RyaW5nOjpucG9zKQogICAgewogICAgICAgIG9zdHJpbmdzdHJlYW0gb3NzOwogICAgICAgIG9zcyA8PCAnJScgPDwgaGV4IDw8IG5vc2hvd2Jhc2UgPDwgdXBwZXJjYXNlIDw8IChpbnQpIHN0cltwb3NdOwogICAgICAgIHN0cmluZyBuZXd2YWx1ZSA9IG9zcy5zdHIoKTsKICAgICAgICBzdHIucmVwbGFjZShwb3MsIDEsIG5ld3ZhbHVlKTsKICAgICAgICBwb3MgKz0gbmV3dmFsdWUuc2l6ZSgpOwogICAgfQogICAgc3RyID0gImZpbGU6Ly8vIiArIHN0cjsKICAgIGNvdXQgPDwgc3RyOwogICAgcmV0dXJuIDA7Cn0=