下記はDMMというサイトの検索結果のURLですが、

http://www.dmm.com/search/=/shop_name=all/searchstr=wMOVysOJxPGdpJTbluDD3A__

searchstr=以降が検索文字列だと思うのですが、これは、どういうエンコードなのでしょうか?

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2006/07/19 12:25:04
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:dungeon-master No.1

回答回数571ベストアンサー獲得回数40

ポイント60pt

該当するエンコード規格は見つからないので、どうやらDMMが使う検索システムの

独自エンコードルールのようです。

  • 文字長3バイトに対してエンコード後4バイト
  • 6bitずつ切り出した値に対して64種類の文字をマッピング
  • 元の文字列が3バイトの倍数でない場合は、末尾に特別な文字が補われる

といった特徴があるのでBASE64を手本にしているようです。


元が3バイトの倍数でない場合にエンコード結果に補われる文字はアンダースコア"_"。

6bitの値(0~63)に対するエンコード後の文字割り当ては A~Z,a~z,0~9,プラス記号,

ピリオドだと思われますが、ビットを切り出し時に何らかの細工をしているようで、

値と文字のマッピングは不明です。

(BASE64では A~Z,a~z,0~9,プラス記号,ハイフンが使われ、補う文字は"="です。)


なお、DMMの検索では!!!のエンコード結果が"REAR"となりましたが!!!!!!と繰り返した

場合に"REARREAR"とはならないので、ここでも捻りが入っているようです。

副作用があるらしく、DMMでは半角 0 を1文字だけ指定した検索ができません。

ざっと見てわかったのはここまでです。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません