2008年6月13日

Bugfix: parse-url

REBOL 3.0目前剖析URL的時候有Bug,當Path出現「@」、「!」或中文、日文、韓文…的時候,Path的解析出錯。這是相當嚴重的問題,因為檔案名稱中很常出現各國語言,如果用URL表示檔案,就會出問題,例如「file:///C:/音樂/love.mp3」就無法被順利剖析。

剖析URL的函數是decode-url,事實上,此函數會去使用到system/intrinsic/parse-url物件的定義。在parse-url物件定義中,為了要讓path納入「@」與「!」,必須修改path-char的定義修改如下:

path-char: make bitset!
#{00000000EFFFFFF5FFFFFFF57FFFFFEA}

為了要納入各國語言(#"^(100)" - #"^(FFFF)"),更必須將它改成:

path-char: union
make bitset!
#{00000000EFFFFFF5FFFFFFF57FFFFFEA}
charset [#"^(100)" - #"^(FFFF)"]

我改天再把它呈遞給DevBase。

沒有留言: