1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108 |
require 'uri'
def unicode_url(string)
lookuptable = Hash.new
lookuptable ={
' ' => '%u0020',
'/' => '%u002f',
'\\' => '%u005c',
"'" => '%u0027',
'"' => '%u0022',
'>' => '%u003e',
'<' => '%u003c',
'#' => '%u0023',
'!' => '%u0021',
'$' => '%u0024',
'*' => '%u002a',
'@' => '%u0040',
'.' => '%u002e',
'_' => '%u0095',
'(' => '%u0028',
')' => '%u0029',
',' => '%u002c',
'%' => '%u0025',
'-' => '%u002d',
';' => '%u003b',
':' => '%u003a',
'|' => '%u007c',
'&' => '%u0026',
'+' => '%u002b',
'=' => '%u003d',
'a' => '%u0061',
'A' => '%u0041',
'b' => '%u0062',
'B' => '%u0042',
'c' => '%u0063',
'C' => '%u0043',
'd' => '%u0064',
'D' => '%u0044',
'e' => '%u0065',
'E' => '%u0045',
'f' => '%u0066',
'F' => '%u0046',
'g' => '%u0067',
'G' => '%u0047',
'h' => '%u0068',
'H' => '%u0048',
'i' => '%u0069',
'I' => '%u0049',
'j' => '%u006a',
'J' => '%u004a',
'k' => '%u006b',
'K' => '%u004b',
'l' => '%u006c',
'L' => '%u004c',
'm' => '%u006d',
'M' => '%u004d',
'n' => '%u006e',
'N' => '%u004e',
'o' => '%u006f',
'O' => '%u004f',
'p' => '%u0070',
'P' => '%u0050',
'q' => '%u0071',
'Q' => '%u0051',
'r' => '%u0072',
'R' => '%u0052',
's' => '%u0073',
'S' => '%u0053',
't' => '%u0074',
'T' => '%u0054',
'u' => '%u0075',
'U' => '%u0055',
'v' => '%u0076',
'V' => '%u0056',
'w' => '%u0077',
'W' => '%u0057',
'x' => '%u0078',
'X' => '%u0058',
'y' => '%u0079',
'Y' => '%u0059',
'z' => '%u007a',
'Z' => '%u005a',
'0' => '%u0030',
'1' => '%u0031',
'2' => '%u0032',
'3' => '%u0033',
'4' => '%u0034',
'5' => '%u0035',
'6' => '%u0036',
'7' => '%u0037',
'8' => '%u0038',
'9' => '%u0039'}
# Convert string to array of chars
chararray = string.scan(/./)
newstr = String.new
chararray.each do |c|
if lookuptable.has_key? c
newstr = newstr + lookuptable[c]
else
newstr = newstr + URI.escape(c)
end
end
return newstr
end
print "Enter string to URL Unicode:"
puts unicode_url(gets) |