「Python3.9」encodeメソッドで文字コードを指定してURLエンコードするサンプル

環境
Python 3.9.13
Windows 11 Pro 21H2 64bit
PyCharm 2022.2.1 (Community Edition)

書式
変数名 =値
urllib.parse.quote(変数名.encode('shift-jis’))
元の文字列をencode()メソッドで該当のエンコーディングでエンコードしたバイト列を第一引数に指定します。

関数
urllib.parse.quote(string, safe=’/’, encoding=None, errors=None)
string 内の特殊文字を %xx を使用してエスケープします。文字、数字、および '_.-~’ はクオートされません。

使用例

# coding: utf-8
import urllib.parse
str = '東京太郎'

res = urllib.parse.quote(str, encoding='shift-jis')
print("encode()メソッドを使用する結果")
print(res)

res2 = urllib.parse.quote(str.encode('shift-jis'))
print("encode()メソッドを使用する結果")
print(res2)

print("データの型")
print(type(res))

実行結果
encode()メソッドを使用する結果
%93%8C%8B%9E%91%BE%98Y
encode()メソッドを使用する結果
%93%8C%8B%9E%91%BE%98Y
データの型
<class 'str’>

Python

Posted by arkgame