在提取水印时,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 文件 “盲 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