Skip to content

Instantly share code, notes, and snippets.

@PierceLBrooks
Created October 10, 2025 02:26
Show Gist options
  • Select an option

  • Save PierceLBrooks/f4ca697008d36c3254c2081859334fa9 to your computer and use it in GitHub Desktop.

Select an option

Save PierceLBrooks/f4ca697008d36c3254c2081859334fa9 to your computer and use it in GitHub Desktop.
python3 -d $PWD/b64mime.py "data:text/html;base64,PGh0bWw+PGhlYWQ+PHRpdGxlPmZvb2JhcjwvdGl0bGU+PC9oZWFkPjxib2R5PkhlbGxvLCB3b3JsZCE8L2JvZHk+PC9odG1sPg=="
# Author: Pierce Brooks
import os
import sys
import base64
import mimetypes
if (len(sys.argv) < 2):
sys.exit(-1)
content = ""
if (os.path.exists(sys.argv[1])):
descriptor = open(sys.argv[1], "r")
content += descriptor.read()
descriptor.close()
else:
content += sys.argv[1]
if not ("," in content):
sys.exit(-2)
left = content[:content.index(",")]
prefix = "data:"
if not (left.startswith(prefix)):
sys.exit(-3)
mime = left[len(prefix):]
if not (";" in mime):
sys.exit(-4)
mime = mime[:mime.index(";")]
if (sys.flags.debug):
print(mime)
mimetypes.init()
extension = mimetypes.guess_extension(mime)
if (extension == None):
extension = ".dat"
if not (extension.startswith(".")):
extension = "."+extension
if (sys.flags.debug):
print(extension)
data = None
if (";base64" in left):
base = content[content.index(","):]
data = base64.b64decode(base[1:].encode())
else:
data = content[(content.index(",")+1):].encode()
descriptor = open(os.path.basename(sys.argv[0])+extension, "wb")
descriptor.write(data)
descriptor.close()
sys.exit(0)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment