图片转Base64

handlebars 复制代码
在Python中, 可以使用内置的base64模块以及图像处理库(如PIL, 也称为Pillow)来将图片转换为Base64编码的字符串.
以下是一个简单的示例, 说明如何实现这一过程:
handlebars 复制代码
首先, 需要安装Pillow库(如果尚未安装), 可以使用pip来安装: pip install pillow
handlebars 复制代码
然后, 可以使用以下Python代码将图片转换为Base64编码的字符串:
python 复制代码
import base64  
from io import BytesIO  
from PIL import Image  
  
def image_to_base64(image_path, image_format="JPEG"):  
    """  
    将图片转换为Base64编码的字符串  
    :param image_path: 图片路径  
    :param image_format: 图片格式(如 "PNG", "JPEG" 等)  
    :return: Base64编码的字符串  
    """  
    with Image.open(image_path) as img:  
        buffered = BytesIO()  
        img.save(buffered, format=image_format.upper())  
        img_byte_arr = buffered.getvalue()  
      
    base64_str = base64.b64encode(img_byte_arr).decode('utf-8')  
    return base64_str  
  
# 使用示例  
image_path = 'path/to/your/image.jpg'  # 替换为你的图片路径  
base64_data = image_to_base64(image_path)  
print(base64_data)  # 输出Base64编码的字符串
handlebars 复制代码
在上面的代码中, image_to_base64函数接受两个参数: 图片路径和图片格式.
它首先使用Pillow库的Image.open方法打开图片, 然后将图片保存到一个字节缓冲区BytesIO中.
接下来, 它从缓冲区中获取字节数组, 并使用base64.b64encode函数进行Base64编码.
最后, 它将编码后的字节数组解码为UTF-8格式的字符串并返回.

请注意, 你需要将image_path变量替换为你实际要转换的图片的路径.
此外, 如果你想要以不同的格式(如PNG)保存图片, 只需更改image_format参数即可.
handlebars 复制代码
使用Base64编码作为网站图标.
html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>web应用</title>

    <link rel="icon" type="image/x-icon"
          href="data:image/x-icon;base64, 
          /9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgK
          DBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgN
          DRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAQ
          ABADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
          AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RF
          RkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5
          usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAEC
          AwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV
          YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaH
          iImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3
          +Pn6/9oADAMBAAIRAxEAPwD3GfWdNtmmWa/tkeFS0iGVdygdcjOaw9F1aa3vrhNWmnh+1OksEdwhxHvJwgbG
          BgbBjP3s+tV4LQy69BDNpsh8nUri5Mj252AFH2sGI29SuMHPPtWpete6tLZ2o065trcXKSzyTGPBVDvAG1iSSwTt0zQB/9k=">
</head>
<body>
</body>
</html>
相关推荐
深蓝电商API3 分钟前
aiohttp中间件实现异步请求日志与重试
爬虫·python
Swift社区4 分钟前
Docker 构建 Python FastAPI 镜像最佳实践
python·docker·fastapi
MarkHD4 分钟前
Python RPA七日实战:用pyautogui打造第一个自动化脚本
python·自动化·rpa
m0_7369191011 分钟前
实战:用Python分析某电商销售数据
jvm·数据库·python
乔江seven27 分钟前
【python轻量级Web框架 Flask 】1 Flask 初识
开发语言·后端·python·flask
Bruk.Liu27 分钟前
(LangChain实战3):LangChain阻塞式invoke与流式stream的调用
人工智能·python·langchain
岱宗夫up34 分钟前
Scrapy框架实战教程(上):从入门到实战,搭建你的第一个专业爬虫
爬虫·python·scrapy
Bruk.Liu35 分钟前
(LangChain实战4):LangChain消息模版PromptTemplate
人工智能·python·langchain
SunnyRivers35 分钟前
Asyncio 提速秘籍:用 run_in_executor 与 to_thread 巧解同步阻塞难题
python·asyncio·to_thread·run_in_executor
亚林瓜子39 分钟前
pyspark分组计数
python·spark·pyspark·分组统计