|
>>文字列を「検索」→「%8C%9F%8D%F5」に変換するサブルーチンを埋め込めば
>>いいのですが、16進数の文字列に変換するのが、ちと面倒なのでやってません。
でOKのはずです。
> 2バイト文字だけではなく、URLに使われる :/?&= なども対象になります。
// あちききは、今はメールには関係していないので、「秀丸」マクロです。
//*5a1.mac
$wk1 = "a未確認G\x81\x40bあAX -@#%&Z'\" !";
call pp_hex_1a $wk1;
message $wk1 + "\n" + $$return;
endmacro;
pp_hex_1a:
if( $$1 == "" ){return;}//ヲィ !!!
$$t = "0123456789ABCDEF";
$$s = $$1 + char(0xFF);//stopper.
while( midstr($$s,##i,1) != char(0xFF) ){
##j = ascii(midstr($$s,##i,2));
if( ##j <= 0xFF ){
if( strstr("\x20_-@#%&!'\"",char(##j)) == -1 ){//好み ...
$$2 = $$2 + char(##j);
} else {
$$2 = $$2 + "%" + midstr($$t,(##j/16),1) + midstr($$t,(##j%16),1);
}
##i = ##i + 1;
} else {
##k = ##j / 256;
$$2 = $$2 + "%" + midstr($$t,(##k/16),1) + midstr($$t,(##k%16),1);
##k = ##j % 256;
$$2 = $$2 + "%" + midstr($$t,(##k/16),1) + midstr($$t,(##k%16),1);
##i = ##i + 2;
}
}
return $$2;
|
|