技術

テキストをバイナリ化 Python

テキストをバイナリにしたいときと、バイナリをテキストにしたいとき。
シーザー暗号したり、リトルエンディアンで読み取ったりして、別の暗号作成しても良いので、何かに使えそう。

#!/usr/bin/env python
#-*- coding: utf-8 -*-
"""
File:bin2txt.py
-----------------------------------------------

"""
import sys # for open()
import binascii # for binascii()

def main():
  infile=open(sys.argv , "rb")
  outfile=open(sys.argv , "w")
  while 1:
    msg = infile.read(1)
    if not msg:break
    getHex = binascii.b2a_hex(msg).decode('utf-8')# バイナリ(bytes型)→16進数文字列(bytes型)変換
    print(getHex)
    outfile.write(getHex)
  infile.close()
  outfile.close()

# エントリポイント
if __name__ == "__main__":
  main()

 

#!/usr/bin/env python
#-*- coding: utf-8 -*-
"""
File:txt2bin.py
-----------------------------------------------
"""
import sys # for open()
import binascii # for binascii()

def main():
  infile=open(sys.argv , "r")
  outfile=open(sys.argv , "wb")
  while 1:
    msg = infile.read(2)# 2文字ずつ読込
    if not msg:break
    getBin = binascii.a2b_hex(msg)# 16進数文字列(bytes型)→バイナリ(bytes型)変換
    print(getBin)
    outfile.write(getBin)
  infile.close()
  outfile.close()

# エントリポイント
if __name__ == "__main__":
  main()
ABOUT ME
usatodo
仕事を充実させ、生活を楽しむ「仕事術」について模索中。人を助ける技術を伝承できるようなエンジニアを目指しています。うさみみが生えた白い生物が、日々、電子・情報処理技術に傾倒しています。趣味で気分転換に思い切った活動をしてしまうことも。サイトでは、生活に役立つ小ネタやスマホの豆知識など、いつもの暮らしがちょっとだけ便利になる情報をお届けします。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA