文字列を UTF-8 のバイト列に変換する
最初に文字列を UTF-8 のバイト列に変換することで文字列を16進法を用いた表し方に変更します。
hoge = 'ハロー!'.encode('utf-8') print(hoge)
これを実行してみると、
b'\xe3\x83\x8f\xe3\x83\xad\xe3\x83\xbc\xef\xbc\x81'
このように表示されました。
ちゃんと16進数に変える
ただ、先ほどのコードではいらない箇所がいくつもあります。
そこで、少しだけ進化したコードに変更します。
hoge = 'ハロー!'.encode('utf-8', 'replace').hex() print(hoge)
これを実行してみると、
e3838fe383ade383bcefbc81
いらない箇所が消え、16進数に表示されていることが分かります!
16進数から10進数に変換する
さいごに10進数にすることで今回は完成となります。
16進数から10進数に変換するのはとても簡単です!
hoge = 'ハロー!'.encode('utf-8', 'replace').hex() fuga = int(hoge,16) print(fuga)
これも同様に実行してみると、
70412146007121292258635136129
いい感じに文字列を数字に変更ができました!