The example is:
The IETF standard provides these definitions:
https://www.ietf.org/rfc/rfc3986.txt
https://tools.ietf.org/html/std63
the implementation ZnPercentEncoder, decode: stringStream to: byteStream could be changed to accept characters below 256. (char charCode < 256 instad of char charCode < 128)?
decode: stringStream to: byteStream
| char |
self decodePlusAsSpace.
[ stringStream atEnd ]
whileFalse: [
((char := stringStream next) == $+ and: [ decodePlusAsSpace ])
ifTrue: [ byteStream nextPut: 32 ]
ifFalse: [
char == $%
ifTrue: [ byteStream nextPut: (self readHexFrom: stringStream) ]
ifFalse: [
char charCode < 128
ifTrue: [ byteStream nextPut: char charCode ]
ifFalse: [ self errorAsciiCharacterExpected ] ] ] ]