DecodeHeader関数(TKInfo.dll)(Ver7.33対応版)
DecodeHeader関数は、受信ログ/送信ログなどのヘッダに入っているエンコードされた形式の文字列をデコードして返します。この関数は、何らかの理由でエンコードされたままの文字列を扱わなければないない人が、それをデコードするマクロなどを作成する時のために用意されています。
例えばメール本文中にエンコードされたままのヘッダが入ってくる場合などに、それを変換する目的で使います。
- パラメータ1(文字列型)
-
変換したいエンコードされた文字列です。
秀丸メールのVersion 6.78β1からの仕様変更:
返される値は常に日本語Shift-JISとなります。外国語メールの場合に外国語の文字列をそのまま取得することは出来ないです。別途SetJapaneseCodePageModeを呼び出して日本語モードで実行することをお勧めします。
- 返り値(文字列型)
-
変換された結果文字列です。変換されなかった場合はパラメータ1で渡された文字列をそのまま返します。
- 備考
-
改行しているヘッダをデコードする場合には、改行を取り除いた形でDecodeHeader関数に渡す必要があります。
例 (範囲選択した部分を変換するマクロ) |
loaddll "tkinfo.dll";
gofiletop;
while(1) {
searchdown "=?";
if( !result) endmacro;
$s = "";
#convx = x; #convy = y;
while(1) {
#x = x; #y = y;
golineend2;
$s = $s + gettext( #x, #y, x, y );
down;
if( !result ) break;
golinetop;
if( code != ' ' && code != '\t' ) {
up;
golineend2;
break;
}
}
$d = dllfuncstr( "DecodeHeader", $s );
if( $d != $s ) {
beginsel;
moveto #convx, #convy;
delete;
insert $d;
golineend2;
}
}
|