IconText Encoding Object

インターネット上におけるテキストの処理には不可欠な文字コードの変換を行うスクリプトオブジェクト共有ライブラリです。AS Runnerで実行するとウィザード形式で主なサブルーチンについての解説が表示されます。

文字コード判定・変換ルーチン

ConvCode(text, pre, post)
テキストの文字コードをpreからpostに変換します。preを""(空白文字列)にすると文字コードを自動判定して任意の文字コードに変換します。文字コードの判別と変換のルーチンを組み合わせてConvCode(msg, GetCode(msg), post)とするよりも処理が速いことがあります。preとpostの文字コードの指定はMIME名(例:Shift_JIS),"SJIS"などの簡略表示,SJISなどのTanaka's osaxの定数が利用できます。
Text Encoding Objectは通常ではテキストデータの中のすべての文字を見て文字コードを判定・変換するため,処理に時間がかかります。
文字コードの判定および変換機能を持つスクリプティング機能追加がある場合,処理が高速化されます。対応するスクリプティング機能追加は後述します。
判定するデータがHTMLまたはXMLの場合は,タグによる文字コード指定を優先するため判定にかかる時間が大幅に短くなります。この場合は,Unicodeを含めたすべての文字コードが判定可能です。
Unicodeの文字コードの自動判定はHTMLまたはXMLの場合のみ可能です。
Unicodeの文字列の変換にはMacOS 8.5以降またはTEC OSAXとText Encoding Converterが必要です。
Mac OS X 10.3以降の環境ではシステムが持つ変換機能であるiconvを使用するので、UTF-8など、ほぼすべての文字コードの間で自由に文字コードを変換できます。
GetCode(text)
文字コードを判定します。HTMLやXMLの場合はタグをみて文字コードを判定するので、判定が高速化されます。この際に、古い表記であるx-sjisとx-euc-jpはそれぞれ標準MIME名であるShift_JISとEUC-JPに変換されます。
Code2SJIS(text)
テキストの文字コードを判定してシフトJIS,改行コードをMacintosh用に変換します。Mac OS X以降での使用はおすすめできません。

JIS・EUC

シフトJIS
(↑)
Unicode

JIS2SJIS(text)
JISコードの文字列をシフトJISに変換します。Mac OS X以降での使用はおすすめできません。
EUC2SJIS(text)
EUCコードの文字列をシフトJISに変換します。Mac OS X以降での使用はおすすめできません。

改行コード変換ルーチン

Macintoshの改行コードは,Mac OS 9以前はCRのみで,Mac OS X以降ではUNIXと同じLFのみです。これをDOSの改行コードと変換します。
CRLF(text)
すべての改行コードをMacintoshの改行コードに変換します。
DOS2Mac(text)
改行コードをCR+LFからMacintoshの改行コードに変換します。
Mac2DOS(text)
Macintoshの改行コードをCR+LFに変換します。

CR+LF (Win)
↑↓
CR (Mac OS 9), LF (Mac OS X)

LF (Unix)


URL変換ルーチン

encodeURL(text)
文字列のURLエンコードを行います。Shift JISからのエンコードを想定しています。
decodeURL(text)
URL文字列のデコードを行います。

URLエンコード済みテキスト
↑↓
Shift JISテキスト


表変換ルーチン

タブ区切りテキスト(拡張子.TSV、.ASCII、.TXT、.TABなど),コンマ区切りテキスト(拡張子.CSV),AppleScript用のリストオブジェクト(構造化されたオブジェクトデータ)の表データの形式を相互に変換します。
入力されるデータの改行コードに関わらず,出力されるデータの改行コードはMacintoshの改行コードになっています。出力されたデータをWindowsなどで利用するためには改行コードの変換を行って下さい。Shift JISのデータを想定しています。

コンマ区切りテキスト
↑↓
      タブ区切りテキスト(←→)HTML
↑↓
リストオブジェクト
(↑↓)
Data Component Object

タブ区切りテキストおよびコンマ区切りテキストはテキストファイルに保存できますが,リストオブジェクトは Data Component Objectフォーマットのバイナリファイルとしてのみ保存することができます。
なお,HTML Conv Objectはタブ区切りテキスト(TSV)とHTMLの相互変換ルーチンを持ちます。この機能は Text2Tableにおいて利用されています。
バージョン1.2以前において,タブ区切りテキストをASCIIテキストと呼んでいたため,現在のところは以下のルーチンも使用できます。ASCIIをTSVと読み替えてください。

外字変換ルーチン

Windowsなどで使用されているPC98外字セット(以下,Win外字)とMacintoshなどで使用されている通産省外字セット(以下,Mac外字)を相互変換します。Mac外字を外字に依存しないテキストに変換することもできます。ちなみに,Macintoshでも漢字Talk6以前のシステムやPostScriptプリンタではWin外字が使用されています。ただし,一部には対応していない外字もあります。改行コードの変換も自動的に行われます。
Win2Mac(text)
Win外字をMac外字に変換します。
Mac2Win(text)
Mac外字をWin外字に変換します。
Ch2Text(text)
Mac外字を標準テキストに変換します。
iMode_Support(text)
i-mode絵文字をテキストに変換します。

Win外字
↑↓
Mac外字

標準テキスト

i-mode外字


日本語構文解析ルーチン

AppleScriptから日本語を解析するためのルーチンです。
solvePhrase(text)
文章を文節に区切ります。

10月23日はMac OS X 10.3 Pantherの発売日です。

{"10月23日は","Mac OS X 10.3 Pantherの","発売日です", "。"}

solveWord(text)
文節から語幹を取り出します。

10月23日は

10月23日


スクリプティング機能追加への対応

以下のスクリプティング機能追加をインストールしておくと機能が拡張されます。
Clipboard
文字コード変換の処理速度が向上します。
Conv Jcode OSAX
文字コード変換の処理速度が向上します。
Tanaka's osax
文字コード判定の処理速度が向上します。文字コード変換の処理速度が向上します。URLエンコード・デコードの処理速度が向上します。
TEC OSAX
文字コード判定の処理速度が向上します。OSのバージョンに関わらずUnicodeを含む文字コードの変換が行えます。文字コードの変換の処理速度が向上します。
Akua Sweets
Unicodeを含む文字コードの判定と変換がサポートされる予定ですが,現行バージョンでは未対応です。
なお、Mac OS Xにおいてはiconvも利用可能です。
Text Conv Objを利用したサンプルスクリプト Text Conv-Jは以下のページに移動しました。

変更履歴


このソフトウエアはネットワークインストーラからのみインストールすることが可能です。

関連ページ
   ネットワークインストーラ
   スクリプト共有ライブラリ規格


Copyright(C) SUZUKI Kazufumi, All rights reserved.