URL Decoding to ASCII Characters in the Album Parser Script


#1

For my discogs scripts I would like to implement a way to parse the Discogs Standard Name if a Discogs Name Variation is used for a release.
But this name is only hidden in a link where it is URL-encoded. Is there a way to decode URLs in the album parser to get the correct ASCII Character.

like here: http://www.w3schools.com/tags/ref_urlencode.asp
%21 > !
%22 > "
%23 > #
...


Web Source Framework
Function for urlencode?
#2

Mp3tag does not provide such a dedicated function.

You have already a complete URL Encoding Reference, so you can build your own decoder using the $Replace() or $RegexpReplace() functions.

See also:
http://cid-387b58366897ac93.office.live.co...odeURI.v105.hta
http://cid-387b58366897ac93.office.live.co...ponent.v106.hta

DD.20110121.1957.CET
Edit.DD.20111211.1433.CET


#3

I know of course. I was just hoping that there might be an easier way.

To built this in the script in full function, I have to do these 224 (!) replaces on three fixed palces (albumartist, credits, notes) plus artist and mixartist within the tracks loop for every track. On a release with 10 tracks this would be 5152 (!!!) replaces.
I guess this would make the script significant slower, wouldn't it?


#4

I wonder what happened to this?
I also stumbled upon this for a simple export script. As far as i see it works without such a step in Firefox, but does it speak for every browser?

Edit:
Oh, i spoke too soon. It is the other way around. URL Encoding.


#5

There are offered two simple tools for URI encoding and decoding ...
file:/// durch normalen Pfad ersetzen

DD.20111210.1127.CET


#6

I've built a URL decoding option into the newest version of my discogs script.
[WS] Discogs (pone mod)

It works, but it makes the script slower.
I've only built in the first character set, called "Basic Latin", as I found it here http://www.utf8-zeichentabelle.de/unicode-....pl?number=1024 into my script.
That alone where 921 replaces. So if I wanted to build in all characters, that would really blow up the size of the script too much.

It should be possible to reverse decoding to encoding and write the syntax for export scripts.
Something like $replace(...,%21,!,%22,",%23,#,%24,$,%25,%,%26,&,...)
Keep in mind that you have to replace the special characters of the Mp3tag export syntax.
And you have to use a text editior where you can write all the special characters.

@Detlev:
Is there a way to built your tool into Mp3tag's Web Sources process?


#7

My HTA encoding and decoding tools do a simple call to a Javascript function.
That is not supported by Mp3tag.

Both functions UrlEncode and UrlDecode are essential when dealing with the Internet, particularly in the context of "Mp3tag Websource Scripts".
I wonder why these functions are not supplied by Mp3tag.

DD.2011211.1424.CET


#8

Where does a web source script need these functions?


#9

To read the discogs main artist name at release pages where an artist name variation (anv, name with little asterisk* after it) is used. These names can only be read in the link, and the link is URL Encoded.
You can see that in the new version of my discogs script if you enable the DISCOGS_ORIGINAL ...ARTIST NAME field(s). As I wrote, 921 replace lines just to get the "Basic Latin" set of characters.

By the way, the same thing your script has as %discogs_artist_name%. But you can't do that proper without decoding the links.