From d99e08e294167e1d44ab2877cbe835219fa8f864 Mon Sep 17 00:00:00 2001 From: "chen.s.g" <chensg@imohe.com> Date: Thu, 31 Jan 2019 10:55:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E4=B8=8D=E5=BF=85=E8=A6=81?= =?UTF-8?q?=E7=9A=84=E7=AC=A6=E5=8F=B7=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- workbook.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/workbook.go b/workbook.go index dcabceb..07e7e09 100644 --- a/workbook.go +++ b/workbook.go @@ -208,7 +208,7 @@ func (w *WorkBook) parseString(buf io.ReadSeeker, size uint16, from string) (res if w.Is5ver { var bts = make([]byte, size) _, err = buf.Read(bts) - res = string(bytes.Trim(bts, "\r\n\t ")) + res = string(bts) } else { var richtext_num = uint16(0) var phonetic_size = uint32(0) @@ -238,13 +238,14 @@ func (w *WorkBook) parseString(buf io.ReadSeeker, size uint16, from string) (res for ; i < size && err == nil; i++ { err = binary.Read(buf, binary.LittleEndian, &bts[i]) } - runes := utf16.Decode(bts[:i]) - res = strings.Trim(string(runes), "\r\n\t ") + if i < size { w.continue_utf16 = size - i + 1 } else if i == size && err == io.EOF { w.continue_utf16 = 1 } + + res = string(utf16.Decode(bts[:i])) } else { var n int var bts = make([]byte, size) @@ -258,8 +259,8 @@ func (w *WorkBook) parseString(buf io.ReadSeeker, size uint16, from string) (res for k, v := range bts[:n] { bts1[k] = uint16(v) } - runes := utf16.Decode(bts1) - res = strings.Trim(string(runes), "\r\n\t ") + + res = string(utf16.Decode(bts1)) } if richtext_num > 0 {