Python サンプル集 |
Visual Basic 中学校 > Python サンプル集 > Python サンプル集目次 >
Base64Urlをデコードする
2023/1/1
→ C# のサンプルに切り替える → Visual Basic のサンプルに切り替える
目次
Base64UrlをUTF-8の文字列をデコードする
import base64
base64string = '5b6z5bed5a625bq3QUJD'
#まず通常のBase64に変換する
padCount = [0,1,2,1][len(base64string) % 4]
base64string = base64string + '=' * padCount
#元の値に変換する
value = base64.urlsafe_b64decode(base64string).decode()
print(value) #徳川家康ABC
Base64UrlをShift_JISの文字列にデコードする
import base64
base64string = 'k7-Q7InGjU5BQkM'
#まず通常のBase64に変換する
padCount = [0,1,2,1][len(base64string) % 4]
base64string = base64string + '=' * padCount
#元の値に変換する
value = base64.urlsafe_b64decode(base64string).decode('Shift_JIS')
print(value) #徳川家康ABC
Base64Urlをオブジェクトにデコードする
オブジェクトの一例として、Base64Url を リスト にデコードする例。
import base64
import json
base64string = 'WyJBcHBsZSIsICJcdTVmYjNcdTVkZGRcdTViYjZcdTVlYjciLCAiMTIzNDUiXQ'
#まず通常のBase64に変換する
padCount = [0,1,2,1][len(base64string) % 4]
base64string = base64string + '=' * padCount
#jsonにする
jsonString = base64.urlsafe_b64decode(base64string).decode()
#values は "Apple", "徳川家康", "12345" を要素に持つリストになります。
values = json.loads(jsonString)
#リストの要素を , で結合して1つも文字列として出力します。
print(','.join(values)) #Apple,徳川家康,12345
メモ:リストに限らず、json.loadsで解析できるオブジェクトはこの例が通用します。
Base64Urlをbytesにデコードする
import base64
base64string = 'EjRWeJq83vA'
#まず通常のBase64に変換する
padCount = [0,1,2,1][len(base64string) % 4]
base64string = base64string + '=' * padCount
#元の値に変換する
bins = base64.urlsafe_b64decode(base64string)
#bytesを16進数表記の文字列で出力します。
print(bytes.hex(bins).upper()) #123456789ABCDEF0