EUCでのURLエンコードについてNo.08091
かずらい さん 16/04/08 13:34
 
こんにちは

秀丸をいつも愛用させていただいており、質問のためカキコいたしました。

【質問】
EUCのサイトを秀丸から直で検索したいので、
選択文字列をEUCにURLエンコードすることはできますか?

無変換のままでは文字化けして対応できません(╥_╥)

以上の質問について、ご回答よろしくお願いいたします。m(_ _)m

[ ]
RE:08091 EUCでのURLエンコードについてNo.08092
秀丸担当 さん 16/04/08 16:39
 

Hidemarnet Explorer with FTPS が入っている場合は、hmnetast.hmnetexという
オブジェクトを使って、簡単に変換することができます。

例:

  #obj = createobject("hmnetast.hmnetex");
  if(#obj != 0){
    message getpropstr(#obj, "URLEncode", "abcあいうえお",2);
  }


入っていない場合は、面倒な手順になります。
例えば、

  saveas "c:\\xxx\\yyy.txt",euc;

として作業用のファイルにEUCとして保存し、

  loadfile "c:\\xxx\\yyy.txt",binary;

として読み込むと、EUCを16進数に変換した結果が得られます。
これに%を付けたり加工していくとできると思いますが、面倒なので、もし個人
用のマクロでHidemarnet Explorerを入れてもいいのであれば、最初の方法がい
いと思います。

[ ]
RE:08091 EUCでのURLエンコードについてNo.08093
でるもんたいいじま さん 16/04/08 20:06
 
こんばんは。秀丸ユーザの「でるもんた・いいじま」です。

> 【質問】
> EUCのサイトを秀丸から直で検索したいので、
> 選択文字列をEUCにURLエンコードすることはできますか?
>
> 無変換のままでは文字化けして対応できません(╥_╥)

補助漢字(あるいはJIS2004の第二面)を諦めれば、なんとか自力で
計算できないこともないです。1文字ずつ処理してください。

// こちらはマクロの会議室ということで、バリバリ書きます^^

#sj = ascii("あ"); // 0x82A0

#sH = #sj / 256;
#sL = #sj % 256;

if (#sH==0)
{
  if (#sL<0x80) $e = sprintf("%%%02X",#sL); // ASCII
  else $e = sprintf("%%8E%%%02X",#sL); // 半角カタカナ
}
else // 2バイト文字の第1面
{
  if (#sH>=0xA0) #sH = #sH-0x40;
  #eH = (#sH-0x80)*2 +0x9F;

  if (#sL>=0x7F) #sL=#sL-1;
  #sL = #sL-0x40;

  if (#sL>=94) { #eH=#eH+1; #eL = #sL-94+0xA1; } else #eL = #sL + 0xA1;

  $e = sprintf("%%%02X%%%02X",#eH,#eL);
}

message $e; // %A4%A2

[ ]
RE:08093 _RE_08091_EUCでのURLエンコードNo.08094
ノノムン さん 16/04/08 21:59
 
こんにちは ノノムンです

別の目的で URLの読替を試していました。
マクロではなく手とカンでやりました。
そのときの覚え書きです。


最近はWebのエンコードがUTF-8を主体としているようですが、
コンテンツ自体は(Shift-JIS)で記述されていることが多いため、
wikiなどのUTF-8を拾ってしまうと文字が「%AA」と表記され不便です。

サイトの日本語を含む(URL)を記録する場合
Firefoxでは上部URL窓に英数漢字交じりで(UTF-8)が読みやすく表示されます。
コピペしてTXTに張りますと、「S-JIS+UTF8.htm」等になり、
UTF-8の全角部分が「%E3」などに変化して長く読みづらくなります。
名前を付けてページを保存しますとファイル名が「全角-aa.htm」等になって保存さ
れます。

よく見ると「TXT英数半角」+「ファイル名全角」が元表示されたURLと相関があり、
http://を省略し(自動補完)「TXT英数半角」+「ファイル名全角」+「.htm」として
FirefoxのURL窓に(Shift-JIS)貼り付けますと、元のサイトを表示できます。
(同じURLに変換されます)

参考になりますでしょうか


On 2016/04/08 20:06, でるもんたいいじま wrote:
> こんばんは。秀丸ユーザの「でるもんた・いいじま」です。

[ ]
RE:08091 EUCでのURLエンコードについてNo.08095
かずらい さん 16/04/15 19:52
 
秀丸担当さん、でるもんたいいじまさん、ノノムンさん
お知恵を頂きありがとうございました。

今回はHidemarnetのURLEncodeメソッドで対応したいと思います。

おかげさまで、選択文字列を右クリックから直で
検索することができるようになり秀丸がより便利になりました。

また質問の際にはよろしくお願いします。m(_ _)m

[ ]