Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: rfc2396 url encoding
- X-seq: zsh-workers 23320
- From: Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx>
- To: zsh-workers@xxxxxxxxxx
- Subject: Re: rfc2396 url encoding
- Date: Tue, 24 Apr 2007 23:22:20 -0700
- In-reply-to: <20070425034745.GA11136@xxxxxxxxxxx>
- Mailing-list: contact zsh-workers-help@xxxxxxxxxx; run by ezmlm
- References: <20051106185713.GA11612@xxxxxxxxxxx> <1051106194911.ZM32000@xxxxxxxxxxxxxxxxxxxxxxx> <20070425034745.GA11136@xxxxxxxxxxx>
On Apr 24, 11:47pm, Clint Adams wrote:
}
} > input=( ${(s::)1} )
} > print ${(j::)input/(#b)([^A-Za-z0-9_.!~*\'\(\)-])/%$(([##16]#match))}
}
} This changed behavior in that ó (UTF-8) becomes %F3 instead of %C3%B3 .
} Thoughts?
(Is that actually wrong? When I cut and paste from your email message,
there's only one byte at ó.)
I see the point, though, I think. (s::) is now splitting between wide
characters rather than between raw bytes.
What happens if you simply unsetopt multibyte within the function?
urlencode() {
setopt localoptions extendedglob nomultibyte
input=( ${(s::)1} )
print ${(j::)input/(#b)([^A-Za-z0-9_.!~*\'\(\)-])/%$(([##16]#match))}
}
If that doesn't work, we'll have to come up with some way to force $1
to be re-interpreted as a raw byte string rather than a wide character
string before splitting it up.
Messages sorted by:
Reverse Date,
Date,
Thread,
Author