diff --git a/electron/services/annualReportService.ts b/electron/services/annualReportService.ts index bc4d1ed..88d062e 100644 --- a/electron/services/annualReportService.ts +++ b/electron/services/annualReportService.ts @@ -193,7 +193,9 @@ class AnnualReportService { if (!raw) return '' if (typeof raw === 'string') { if (raw.length === 0) return '' - if (this.looksLikeHex(raw)) { + // 只有当字符串足够长(超过16字符)且看起来像 hex 时才尝试解码 + // 短字符串(如 "123456" 等纯数字)容易被误判为 hex + if (raw.length > 16 && this.looksLikeHex(raw)) { const bytes = Buffer.from(raw, 'hex') if (bytes.length > 0) return this.decodeBinaryContent(bytes) } diff --git a/electron/services/chatService.ts b/electron/services/chatService.ts index 22670d0..eade809 100644 --- a/electron/services/chatService.ts +++ b/electron/services/chatService.ts @@ -2227,7 +2227,9 @@ class ChatService { if (raw.length === 0) return '' // 检查是否是 hex 编码 - if (this.looksLikeHex(raw)) { + // 只有当字符串足够长(超过16字符)且看起来像 hex 时才尝试解码 + // 短字符串(如 "123456" 等纯数字)容易被误判为 hex + if (raw.length > 16 && this.looksLikeHex(raw)) { const bytes = Buffer.from(raw, 'hex') if (bytes.length > 0) { const result = this.decodeBinaryContent(bytes, raw) diff --git a/electron/services/dualReportService.ts b/electron/services/dualReportService.ts index a80c9e6..f62f947 100644 --- a/electron/services/dualReportService.ts +++ b/electron/services/dualReportService.ts @@ -106,7 +106,9 @@ class DualReportService { if (!raw) return '' if (typeof raw === 'string') { if (raw.length === 0) return '' - if (this.looksLikeHex(raw)) { + // 只有当字符串足够长(超过16字符)且看起来像 hex 时才尝试解码 + // 短字符串(如 "123456" 等纯数字)容易被误判为 hex + if (raw.length > 16 && this.looksLikeHex(raw)) { const bytes = Buffer.from(raw, 'hex') if (bytes.length > 0) return this.decodeBinaryContent(bytes) } diff --git a/electron/services/exportService.ts b/electron/services/exportService.ts index b9823a5..c4fc8a7 100644 --- a/electron/services/exportService.ts +++ b/electron/services/exportService.ts @@ -270,7 +270,8 @@ class ExportService { if (/^[0-9]+$/.test(raw)) { return raw } - if (this.looksLikeHex(raw)) { + // 只有当字符串足够长(超过16字符)且看起来像 hex 时才尝试解码 + if (raw.length > 16 && this.looksLikeHex(raw)) { const bytes = Buffer.from(raw, 'hex') if (bytes.length > 0) return this.decodeBinaryContent(bytes) }