●URLエンコードの仕組み

※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

情報

作者名:Craving研究家

ダウンロード

概要

 URLエンコードの仕組みです。

サンプルプログラム

「Hello World! = 世界よ、こんにちは!  <>"{}|\^[]`#%;/?:@&=+$,」をURLエンコードB
それを表示
それをURLデコードB
それを表示

本体

●URLエンコードB(Sを)
 結果とは文字列;対象とは文字列
 Iで1から(Sのバイト数)まで繰り返す
  対象=MIDB(S,I,1)
  もし、対象が「[^a-zA-Z0-9_\-\.]」に正規表現一致ならば
   対象="%"&(ASC(対象)を10から16進数変換)
  対象を結果に追加
 結果=結果の「%20」を「+」に置換// 空白は"+"に置換
 結果で戻る
●URLデコードB(Sを)
 結果とは文字列
 Iとは整数=1;対象とは文字列
 S=Sの「+」を「%20」に置換// 空白に戻す
 (I<=(Sのバイト数))の間
  対象=MIDB(S,I,1)
  もし、対象="%"ならば
   対象=CHR(INT(「${MIDB(S,I+1,2)}」))
   I=I+2
  対象を結果に追加
  I=I+1
 結果で戻る
#--------------------------
#進数変換(五十六さん作 ありがとうございます)改造 ここから
#--------------------------
●十進数(SをVで)
 IでASC("a")からASC("z")まで繰り返す
  S=SのCHR(I)をCHR(I+ASC("A")-ASC("a"))に置換
 S=(Sを文字列分解)を配列逆順
 IでASC("A")からASC("Z")まで繰り返す
  S=SのCHR(I)を(I-ASC("A")+$A)に置換
 結果とは整数
 Sで反復
  結果=結果+対象*(V^(回数-1))
 結果で戻る
●進数(SをV|SのV|SでV)
 結果とは配列;Cとは数値
 (S>=V)の間
  C=S%V
  Iで10から35まで繰り返す
   C=CのIをCHR(I+ASC(A)-$A)に単置換
  結果にCを配列追加
  S=INT(S/V)
 Iで10から35まで繰り返す
  S=SのIをCHR(I+ASC(A)-$A)に単置換
 結果にSを配列追加
 結果を配列逆順
 (結果を空で配列結合)で戻る
●進数変換(Sを{=10}AからB)~(SをAで十進数)の(B)進数で戻る
#--------------------------
# 進数変換ここまで
#--------------------------

総合: -
今日: -
昨日: -
名前:
コメント:

ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。
添付ファイル