@@ -46,38 +46,6 @@ extension String {
4646 return array. reduce ( " " , { $0. 0 + String( UnicodeScalar ( $0. 1 ) ) } )
4747 }
4848
49- public func removePercentEncoding( ) -> String {
50- var scalars = self . unicodeScalars
51- var output = " "
52- var decodeBuffer = [ UInt8] ( )
53- while let scalar = scalars. popFirst ( ) {
54- if scalar == " % " {
55- let first = scalars. popFirst ( )
56- let secon = scalars. popFirst ( )
57- if let first = first? . asAlpha ( ) , let secon = secon? . asAlpha ( ) {
58- decodeBuffer. append ( first*16+ secon)
59- } else {
60- if !decodeBuffer. isEmpty {
61- output. append ( String . fromUInt8 ( decodeBuffer) )
62- decodeBuffer. removeAll ( )
63- }
64- if let first = first { output. append ( Character ( first) ) }
65- if let secon = secon { output. append ( Character ( secon) ) }
66- }
67- } else {
68- if !decodeBuffer. isEmpty {
69- output. append ( String . fromUInt8 ( decodeBuffer) )
70- decodeBuffer. removeAll ( )
71- }
72- output. append ( Character ( scalar) )
73- }
74- }
75- if !decodeBuffer. isEmpty {
76- output. append ( String . fromUInt8 ( decodeBuffer) )
77- decodeBuffer. removeAll ( )
78- }
79- return output
80- }
8149}
8250
8351extension UnicodeScalar {
@@ -92,16 +60,4 @@ extension UnicodeScalar {
9260 return nil
9361 }
9462
95- public func asAlpha( ) -> UInt8 ? {
96- if self . value >= 48 && self . value <= 57 {
97- return UInt8 ( self . value) - 48
98- }
99- if self . value >= 97 && self . value <= 102 {
100- return UInt8 ( self . value) - 87
101- }
102- if self . value >= 65 && self . value <= 70 {
103- return UInt8 ( self . value) - 55
104- }
105- return nil
106- }
10763}
0 commit comments