From 46e08f3bcb88ddfb2984ef67fce9e9ff0abafb8e Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Sat, 16 Sep 2023 13:54:51 +0300 Subject: fix readstring unicode reading --- bitreader.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'bitreader.go') diff --git a/bitreader.go b/bitreader.go index e50f433..6b88709 100644 --- a/bitreader.go +++ b/bitreader.go @@ -368,18 +368,18 @@ func (reader *Reader) ReadBytes(bytes uint64) (uint64, error) { // // Returns an error if there are no remaining bits. func (reader *Reader) ReadString() (string, error) { - var out string + var out []byte for { value, err := reader.ReadBytes(1) if err != nil { - return out, err + return string(out), err } if value == 0 { break } - out += string(rune(value)) + out = append(out, byte(value)) } - return out, nil + return string(out), nil } // ReadStringLength is a function that reads every byte @@ -389,20 +389,20 @@ func (reader *Reader) ReadString() (string, error) { // // Returns an error if there are no remaining bits. func (reader *Reader) ReadStringLength(length uint64) (string, error) { - var out string + var out []byte var i uint64 for i = 0; i < length; i++ { value, err := reader.ReadBytes(1) if err != nil { - return out, err + return string(out), err } if value == 0 { reader.SkipBytes(length - 1 - i) break } - out += string(rune(value)) + out = append(out, byte(value)) } - return out, nil + return string(out), nil } // ReadBitsToSlice is a function that reads the specified amount of bits -- cgit v1.2.3