Python将图片转换为base64编码

markdown插入图片可以采用base64的方式,写一个小工具可以方便使用

获取文件路径

获取文件的路径选择了图形界面,比之命令行更好操作

Tkinter

Tkinter 是使用 python 进行窗口视窗设计的模块.
简单的构造, 多平台, 多系统的兼容性, 选择它作为文件选取.

1
2
3
4
5
import tkinter as tk
from tkinter import filedialog
root = tk.Tk()
root.withdraw()
file_path = filedialog.askopenfilename()

base64

在Markdown下插入图片共有3种方式:

  1. 插入本地图片
  2. 插入网络图片
  3. 将图片存入Markdown

Base64编码可用于在HTTP环境下传递较长的标识信息,是一种用64个字符来表示任意二进制数据的方法。
用记事本打开exe、jpg、pdf这些文件时,我们都会看到一大堆乱码,因为二进制文件包含很多无法显示和打印的字符,所以,如果要让记事本这样的文本处理软件能处理二进制数据,就需要一个二进制到字符串的转换方法。Base64是一种最常见的二进制编码方法。

python实现

1
2
3
4
5
import base64
f=open('723.png','rb') #二进制方式打开图文件
ls_f=base64.b64encode(f.read()) #读取文件内容,转换为base64编码
f.close()
print(ls_f)

复制到剪贴板

直接copy岂不快哉?

1
2
3
4
5
6
7
import win32clipboard as w
import win32con
def setText(aString): # 写入剪切板
w.OpenClipboard()
w.EmptyClipboard()
w.SetClipboardData(win32con.CF_TEXT, aString)
w.CloseClipboard()

完整工具

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import base64
import tkinter as tk
from tkinter import filedialog
import win32clipboard as w
import win32con

root = tk.Tk() # 创建一个实例
root.withdraw() # 隐藏窗口
file_path = filedialog.askopenfilename() # 获取路径
f = open(file_path, 'rb') # y以二进制形式打开
ls_f = base64.b64encode(f.read()) # 读取文件,转换为64位编码
f.close()
w.OpenClipboard()
w.EmptyClipboard()
w.SetClipboardData(win32con.CF_TEXT, ls_f)
w.CloseClipboard()

最后使用pyinstaller打包,明天试试好不好用

-------------本文结束感谢您的阅读-------------