上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

--/--|スポンサー広告||TOP↑

1. まずスクリプトの改行部分を「%0a」に置換します。

スクリプトエディタ上で行う場合はキーボードから改行記号を入力できないので、以下のように改行をコピーして検索置換ウインドウにペーストします。
encode1.png

2. 置換してこんな風になったテキストをコピー
encode3.png

3. Safari のブックマーク編集画面を開いて、option+ドラッグで適当なブックマークを複製。URL の部分に applescript://com.apple.scripteditor?action=new&script= などと入力します。めんどくさかったら http:// でもいいです。
encode4.png

4. 「=」の後ろに先ほどのテキストをペーストし、リターンキーを押せば完了です。勝手にエンコードしてくれます。
さきほど applescript:// で始まる文字列をちゃんと入力していた場合は、ブックマークをダブルクリックしてみてください。

以下、applescript プロトコルと URL エンコーディングに関するリンク

URL PROTOCOL SUPPORT - Apple - Software - AppleScript - Script Editor
アップル謹製エンコード用スクリプト。日本語混じりだとうまくいきません。
Mac Tips X/スクリプトエディタにコピーするタグ
日本語混じりでもOK。リンクとして使うには HTML の charset を UTF-8 にする必要があるそうです。
[教えて!goo] AppleScript(or Perl)でURLエンコードするには?
Perl を使って全ての文字をエンコード。行末に %0a がつくのでデコードするとスクリプトの一番最後にオリジナルにはない改行が入る。Perl の知識がないのでどこを書き換えればこれを回避できるかわかりませんが、結果をパイプで渡して
sed s/%0a$//
とするという手もあります。
追記 (060930): ひどい勘違いをしていました。リンク先のスクリプトはおそらく w の直前のバックスラッシュがクエスチョンマークに化けてしまっています。
AS Publisher - Piyomaru Software
on encodeURL(str) という Python を使っている部分(たぶん)。Perl と同じく知識がないため何をしているかさっぱりですが、「URL に使える文字」以外をきっちりエンコードしてくれる模様。Shift JIS の HTML にも使えます。

AS Publisherを 10.4.x 上で使いたい人のための追記 (060411)

このエントリで紹介している AS Publisher は AppleScript を HTML として書き出した上に applescript プロトコルのリンクまで生成してくれるというものですが、 Mac OS X 10.4.x 上で実行するためには少し工夫が必要です。

まずはバージョン確認のスクリプトを少し書き換えます。
set aVer to version as number
という行を
set aVer to convertString(version as text) of me
とします。つづいてスクリプトの最下部に空改行を入れてから以下を追加。

on convertString(str)
set tmpStr to AppleScript's text item delimiters
set AppleScript's text item delimiters to "."
try
set charList to every text item of str
set curStr to (item 1 of charList) & "."
repeat with i from 2 to (number of items of charList)
set curStr to curStr & (item i of charList)
end repeat
set AppleScript's text item delimiters to tmpStr
return (curStr as number)
on error
set AppleScript's text item delimiters to tmpStr
end try
end convertString

これで実行は可能になりますが、もうひとつ、書き出したファイルが文字化けしてしまうという問題があります。ファイルの文字コードと charset が一致していないというのもあるのでしょうが根本的な原因は判りません^^;

最初は文字列が入った変数を as text すれば Shift_JIS で書き出せるんじゃないかと思いましたがバックスラッシュが化けてしまうんですね。
そういえば 10.3 まではエスケープ文字は円記号でした。
あらかじめバックスラッシュを文字参照に置換してしまうといいのかも。

とりあえず、以下は付け焼き刃的に UTF-16 で書き出すための手順です。

まずスクリプトを「Shift_JIS」で検索して、ヒットした文字列を「UTF-16」に置換します。一箇所しか登場しません。

つぎに
--ファイルの追記ルーチン「write_to_file」
と書いてある場所を探し、
write this_data to the open_target_file starting at eof
という1行を次の3行に置き換えます。

write (ASCII character of 254) to the open_target_file starting at eof
write (ASCII character of 255) to the open_target_file
write this_data to the open_target_file


最初の2行で BOM を付けたことになるのだとか。
Unicode and AppleScript

これで一応は文字化けしない形で書き出せる……のですが、標準で UTF-16 を認識できるはずのテキストエディットでこのファイルを開くことができません。やはり「付け焼き刃」と考えてもらったほうが良さそうです^^

スポンサーサイト

03/13|AppleScriptコメント(5)トラックバック(0)TOP↑
この記事にコメント
おお、解析してますねぇ!
ぴよまるソフトウェアです。
>on encodeURL(str)

その部分のソース、あげましょうか?(汗) メールください。
From: ぴよまるソフトウェア * 2006/04/08 14:00 * URL * [Edit] *  top↑
というよりも、自分は他に優先順位の高い開発物をたくさん抱えているので、AS Publisherのバージョンアップに手が回りません。ソース全部公開するのでMac OS X 10.4.x用に書き直してみませんか?(^ー^;; 
From: ぴよまるソフトウェア * 2006/04/08 14:11 * URL * [Edit] *  top↑
うう。。「ソース」がなにを指しているかすらわからないです^^;
参照したのはAS Publisher v0.1なんですけどスクリプトの中身とは別に何かあるのでしょうか。
From: AquaBowler * 2006/04/09 10:08 * URL * [Edit] *  top↑
>AS Publisher v0.1なんですけどスクリプトの中身とは別に何か
とくに何も。読める形で配布していなかった(実行専用形式のみ)ように記憶しているので、編集可能なAppleScriptのファイルであれば100%「読める」のではないかと。
違いましたっけ?
From: ぴよまるソフトウェア * 2006/04/10 13:00 * URL * [Edit] *  top↑
>ぴよまるソフトウェアさん
ありがとうございます、そういうことでしたか。
お互い別の「ASPublisher」について話している可能性もありますが
「on encodeURL(str)~end encodeURLを含み、
AppleScriptをHTMLに書き出せるASPublisher」のことなら
編集可能な形式で配布されているはずです。
コメント欄だと連絡に時間がかかるようなので後でメールしておきます。
というか最初からメールすれば良かったですね。お手間をとらせてすいません^^;
From: AquaBowler * 2006/04/10 18:23 * URL * [Edit] *  top↑
名前:
コメントタイトル:
メールアドレス:
URL:
コメント:

パスワード:
管理人だけに表示:
管理者にだけ表示を許可
この記事にトラックバック
プロフィール

AquaBowler

  • Author:AquaBowler
  • 現在の Mac 環境:
    iBook Late2001
    Mac OS X 10.4.11
フリーエリア
最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
カテゴリー
ブログ内検索
RSSフィード
リンク
del.icio.us
feed meter

RSS feed meter for http://kotoerisan.blog16.fc2.com/

FC2カウンター
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。