You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python在终端/CMD中显示URL返回的Base64格式二维码图片

用Python在终端展示URL返回的Base64二维码

依赖安装

先安装所需库:

pip install requests pillow term-image

如果用ASCII字符画版本,只需要requests和pillow。

终端图片显示方案(支持图片的终端)

这个方案适合Windows Terminal、iTerm2、Konsole等支持直接显示图片的终端,代码如下:

import requests
import base64
from PIL import Image
from io import BytesIO
from term_image import display

# 替换为你的目标URL
qr_base64_url = "https://your-api-url.com/qr-base64"

# 1. 请求URL获取Base64字符串
resp = requests.get(qr_base64_url)
resp.raise_for_status()
base64_content = resp.text.strip()

# 2. 处理Base64前缀(如果返回的字符串带data:image/png;base64,这类前缀)
if base64_content.startswith("data:image"):
    base64_content = base64_content.split(",")[1]

# 3. 解码为图片二进制数据并转为PIL Image
qr_image_bytes = base64.b64decode(base64_content)
qr_image = Image.open(BytesIO(qr_image_bytes))

# 4. 在终端显示图片
display(qr_image)

ASCII字符画方案(兼容所有终端)

如果你的终端不支持直接显示图片,可以将二维码转为ASCII字符画,代码如下:

import requests
import base64
from PIL import Image
from io import BytesIO

qr_base64_url = "https://your-api-url.com/qr-base64"

# 获取并解码Base64字符串
resp = requests.get(qr_base64_url)
base64_content = resp.text.strip()
if base64_content.startswith("data:image"):
    base64_content = base64_content.split(",")[1]
qr_image_bytes = base64.b64decode(base64_content)
qr_image = Image.open(BytesIO(qr_image_bytes))

# 调整图片尺寸(根据终端窗口大小调整数值)
qr_image = qr_image.resize((50, 50)).convert("L")  # 转为灰度图

# 定义从暗到亮的ASCII字符集
ascii_chars = "@%#*+=-:. "

# 生成ASCII字符画
ascii_qr = ""
for y in range(qr_image.height):
    line = ""
    for x in range(qr_image.width):
        pixel_val = qr_image.getpixel((x, y))
        # 将0-255的灰度值映射到字符集索引
        char_idx = pixel_val // (256 // len(ascii_chars))
        line += ascii_chars[char_idx]
    ascii_qr += line + "\n"

# 打印到终端
print(ascii_qr)

注意事项

  • 传统CMD可能不支持图片显示,建议使用Windows Terminal替代
  • 确保URL返回的Base64字符串是有效的图片数据,若返回格式异常需要额外处理
  • 调整图片尺寸时,尽量保持二维码的比例,避免识别困难

内容的提问来源于stack exchange,提问作者alkan zwaans

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 12:01:19