ENCODE

文字列をエンコードします。

構文
  1. AnsiString = ENCODE( 文字列, 変換指定 )
引数
文字列
エンコードする文字列
変換指定
CODE_ANSI
ANSI文字列に
CODE_URL
URLエンコード
CODE_UTF8
UTF-8に
CODE_HTML
HTML特殊文字を文字実体に(&,<,>,")
CODE_BYTEARRAY
バイト配列の型に(ANSI)
CODE_BYTEARRAYW
バイト配列の型に(UTF16)
戻り値
エンコードされた文字列

文字コードを指定してURLエンコード

文字コードを指定してURLをエンコードする場合は、まず文字コードを指定してエンコードしてからURLエンコードを行います。

以下はUTF-8でエンコードする例。

PRINT ENCODE(ENCODE(INPUT(“エンコードする文字列”), CODE_UTF8), CODE_URL)

プログラム実行例

POSTデータを送信して指定したURLを開く

HASHTBL data
// 送信するデータを「data[名前] = 値」の形式で指定
data["mail"] = "info@example.com"
data["address"] = "北海道"

DIM arr[LENGTH(data) - 1]
FOR n = 0 TO LENGTH(data) - 1
	// 連想配列の中身を「名前=値」の形式に変換
	arr[n] = arr[n] + data[n, HASH_KEY] + "=" + ENCODE(ENCODE(data[n, HASH_VAL], CODE_UTF8), CODE_URL)
NEXT
// 配列の中身を「&」で結合
DIM PostData = JOIN(arr, "&")

// データをエンコード
PostData = ENCODE(PostData, CODE_BYTEARRAY)
// PostDataを渡すときは必ず指定
DIM Headers = "Content-Type: application/x-www-form-urlencoded"
DIM IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.Visible = TRUE
IE.Navigate("http://example.com", , , PostData, Headers)
BusyWait(IE)
SLEEP(5.000)
IE.Quit
  1. length

入力した文字列をUTF8でURLエンコードする

PRINT ENCODE(ENCODE(INPUT("エンコードする文字列を入力してください。"), CODE_UTF8), CODE_URL)
  1. ENCODE
  2. INPUT

Was this post helpful?