Home > Graveyard >

必要なシステム

  • Mac OS X 10.4 or later
    • Mac OS X 10.5.8/10.6.1/10.8.5 で開発/テストしております。

ダウンロード

Version 1.4.1 -- 2016-02-07

URI Escape.osax

文字列(もっぱら URI)のパーセントエスケープおよびアンエスケープを行うスクリプティング機能追加です。

「%E3%82%82%E3%81%97%E3%82%82%E3%81%97.png」みたいな文字列を見たことはないでしょうか?URI(URL)には 決められた ascii 文字しか使ってはいけないらしく、URI 中に 2 バイト文字など決められた文字からはずれる部分は「% + 16進数で表現される文字コード」というように変換(パーセントエスケープ)されます。この、パーセントエスケープ、およびその逆変換(アンエスケープ)を行うスクリプティング機能追加です。

set escaped_text to URI Escape "あいうえお"
--> "%E3%81%82%E3%81%84%E3%81%86%E3%81%88%E3%81%8A"
log (URI Unescape escaped_text)
--> "あいうえお"

set a_uri to URI Escape "file:///Users/tkurita/ファイル.txt"
--> "file:///Users/tkurita/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB.txt"
URI Unescape a_uri
--> "/Users/tkurita/ファイル.txt"

Memory (2020-01-25)

OS X 10.10 から AppleScriptObjC が Xcode とかライブラリの中だけとかという制限がなくなり、どこでも使えるようになりました。すると、Cocoa の NSString と NSURL を使えば、URI Escape.osax とほぼ同じことができるようになりました。

URI Escape.osax は Cocoa ではなく、CoreFoundation を使っているので、若干細かくオプションを指定できますが、macOS 10.14 から System Integrity Protection(SIP)によって、サードパーティ製のスクリプティング機能追加がブロックされるようなりました。SIP の無効化をすれば使えないことはないけど、潮時かなと。

更新履歴

  • 1.4.1 -- 2016-02-06
    • ガベージコレクションのサポートを追加
  • 1.4 -- 2012-06-12
    • "URI Escape version" を追加。
  • 1.3.3 -- 2010-12-11
    • Mac OS X 10.4 で動くようにした。
  • 1.3.2 -- 2010-08-26
    • 内部コードの改善。
    • PackageMaker でインストーラを作った。
  • 1.3.1/1.2.3 -- 2009-11-13
    • スクリプトエディタで辞書を開けない不具合を修正。
  • 1.3/1.2.2 -- 2009-10-16
    • Mac OS X 10.6 に完全対応。
  • 1.2.1 -- 2009-10-08
    • 64 bit をサポート。
  • 1.2 -- 2009-08-19
    • encoding オプションを追加
    • エラーが発生したら適切なエラーメッセージを返すようにした。
    • Andrey Kazak さんに多くのご助言を頂きました。ありがとうございます。
  • 1.1.2 -- 2007.01.20
    • 空文字列を引数に与えるとクラッシュする不具合を修正
  • 1.1.1 -- 2006.11.16
    • sheme が "file" で host が空欄の URL を Unescapeする時にクラッシュする不具合を修正
  • 1.1r2 -- 2006.07.18
    • 英語のマニュアルを追加
  • 1.1 -- 2006.04.18
    • URI Escape コマンドを追加し、URL Unescape から名称を変更
    • URI Unescape で 4K バイト以上のデータを扱えなかった制限を除去
  • 1.0 -- 2006.01.09
    • 初公開