在提取水印时,bytes.fromhex() 发生错误 ValueError: Hex 字符串长度为奇数(由图片裁剪/平移导致)

作者: 14790897创建于 2026年1月14日更新于 2026年4月7日

(说明)** 摘录-text-wm'-bwm.extract'-(被撕裂的)**-``ValueError'-

Python CHE CHE QQ,QX,QX (2006年 a' + ' 0a'). ZPython CHE CHE ‘字节.fromhex ()' QQ,QX

虽然裁剪后的图片提取失败是正常的,但程序应该进行容错处理(例如补零或返回提取失败),而不是直接崩溃。.

                         (重写)**
  1. 国家

(单位:千美元)

          (追踪)**

页:1 文件 “盲 watermark.py”, 第106行, 在摘录中 wm = bytes.fromhex (hex(int(字节,基数=2)[2:]).decode ('utf-8',出错='取代'). 值 错误: 在从hex () arg中找到的非十六进制数字 。


                                            
`盲-水印.py' `摘录' 函数; 在转换前检查; 字符串的长度。如果是奇数; 则在前面补;

修改建议如下:

[Python]
{\fn方正黑体简体\fs18\b1\bord1\shad1\3cH2F2F2F}美国著名女演员
# wm=字节.fromhex(hex(int(字节,基数=2)[2:]).decode("utf-8",出错="取代").

# # # (Fix建议)
x str = x (int(字节,基数为2)) [2:]
如果 len( hex str) % 2 ! = 0 :
六进制 = '0' + 六进制
wm = bytes.fromhex (hex str).decode ('utf-8',出错='取代').

内容来源: guofei9987/blind_watermark