#include #include int main() { char str[2047]; char safe[] = "ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvwxyz1234567890-._~"; char *ret; int i; scanf("%[^\n]", str); int length = strlen(str); for(i = 0; i < length; i++) { ret = strchr(safe, str[i]); if(ret == NULL) { printf("%%%02X", (unsigned)str[i] & 0xffU); } else { printf("%c", str[i]); } } printf("\n"); return 0; }