pythonスクリプトを作成して、Base64文字列をバイトの配列(または16進値の配列)にデコードします。
私のプロジェクトの埋め込み側は、生のバイトから始まるbase64文字列を作成するマイクロコントローラーです。文字列には印刷できない文字が含まれています(このため、base64エンコーディングを選択しています)。
Pc側では、base64文字列をデコードし、元の生のバイトを復元する必要があります。
私のスクリプトはpython 2.7とbase64ライブラリを使用しています:
base64Packet = raw_input('Base64 stream:')
packet = base64.b64decode(base64Packet )
sys.stdout.write("Decoded packet: %s"%packet)
結果の文字列は、印刷できない文字を含む文字列です。
Base64文字列をバイト(または16進)値にデコードする方法はありますか?
前もって感謝します!
これには bytearray を使用できます。おそらく binascii モジュールと struct も役に立ちます。
import binascii
import struct
binstr=b"thisisunreadablebytes"
encoded=binascii.b2a_base64(binstr)
print encoded
print binascii.a2b_base64(encoded)
ba=bytearray(binstr)
print list(ba)
print binascii.b2a_hex(binstr)
print struct.unpack("21B",binstr)