1
0
mirror of https://github.com/bestnite/bilinovel-downloader.git synced 2025-12-15 18:20:14 +00:00

fix font error

This commit is contained in:
2025-04-20 02:13:59 +10:00
parent 6028e7d8c2
commit 9d1d3f0f17
8 changed files with 115 additions and 14 deletions

55
a_test.go Normal file
View File

@@ -0,0 +1,55 @@
package main
import (
"bytes"
"fmt"
"io"
"testing"
"golang.org/x/text/encoding/simplifiedchinese"
"golang.org/x/text/transform"
)
// 尝试使用不同编码进行解码
func tryDecodeWithEncoding(data []byte, decoder transform.Transformer) (string, error) {
reader := transform.NewReader(bytes.NewReader(data), decoder)
decoded, err := io.ReadAll(reader)
if err != nil {
return "", err
}
return string(decoded), nil
}
// 检测可能的编码
func detectEncoding(data []byte) {
// 尝试 GBK 解码
if result, err := tryDecodeWithEncoding(data, simplifiedchinese.GBK.NewDecoder()); err == nil {
fmt.Printf("可能是 GBK 编码: %s\n", result)
}
// 尝试 GB18030 解码
if result, err := tryDecodeWithEncoding(data, simplifiedchinese.GB18030.NewDecoder()); err == nil {
fmt.Printf("可能是 GB18030 编码: %s\n", result)
}
// 尝试 UTF-8 解码(直接输出)
fmt.Printf("原始 UTF-8 输出: %s\n", string(data))
}
func TestA(t *testing.T) {
chaos := "凳蹦戎昆储。"
body := []byte(chaos)
fmt.Println("尝试检测编码...")
detectEncoding(body)
// 使用 GBK 解码
reader := transform.NewReader(bytes.NewReader(body), simplifiedchinese.GBK.NewDecoder())
decoded, err := io.ReadAll(reader)
if err != nil {
fmt.Printf("解码失败: %v\n", err)
return
}
fmt.Println("GBK 解码结果:", string(decoded))
}