|
@@ -49,7 +49,7 @@ func getFileSize(filename string) (int64, error) {
|
|
|
return size, nil
|
|
return size, nil
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-func ReadBinFile(_name string, _type string, _en string, _block int) {
|
|
|
|
|
|
|
+func ReadBinFile(_name string, _type string, _en string, _block int, _addcheck int) {
|
|
|
FileName := filepath.Base(_name)
|
|
FileName := filepath.Base(_name)
|
|
|
// FileType := filepath.Ext(_name)
|
|
// FileType := filepath.Ext(_name)
|
|
|
|
|
|
|
@@ -117,11 +117,13 @@ func ReadBinFile(_name string, _type string, _en string, _block int) {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
check := calChecknum(_type, data[:])
|
|
check := calChecknum(_type, data[:])
|
|
|
- // 写入源文件校验码
|
|
|
|
|
- if _en == "big" {
|
|
|
|
|
- binary.Write(outputFile, binary.BigEndian, check)
|
|
|
|
|
- } else {
|
|
|
|
|
- binary.Write(outputFile, binary.LittleEndian, check)
|
|
|
|
|
|
|
+ if _addcheck == 1 {
|
|
|
|
|
+ // 追加校验码
|
|
|
|
|
+ if _en == "big" {
|
|
|
|
|
+ binary.Write(outputFile, binary.BigEndian, check)
|
|
|
|
|
+ } else {
|
|
|
|
|
+ binary.Write(outputFile, binary.LittleEndian, check)
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 大小端转换
|
|
// 大小端转换
|
|
@@ -157,10 +159,11 @@ func main() {
|
|
|
_type := parser.String("t", "type", &argparse.Options{Required: false, Help: "校验方式: sum32,crc32", Default: "sum32"})
|
|
_type := parser.String("t", "type", &argparse.Options{Required: false, Help: "校验方式: sum32,crc32", Default: "sum32"})
|
|
|
_en := parser.String("e", "en", &argparse.Options{Required: false, Help: "校验码大小端: little,big", Default: "little"})
|
|
_en := parser.String("e", "en", &argparse.Options{Required: false, Help: "校验码大小端: little,big", Default: "little"})
|
|
|
_section := parser.Int("s", "section", &argparse.Options{Required: false, Help: "分块大小: 0,1024,2048", Default: 0})
|
|
_section := parser.Int("s", "section", &argparse.Options{Required: false, Help: "分块大小: 0,1024,2048", Default: 0})
|
|
|
|
|
+ _addcheck := parser.Int("a", "addcheck", &argparse.Options{Required: false, Help: "文件结尾追加校验码", Default: 1})
|
|
|
err := parser.Parse(os.Args)
|
|
err := parser.Parse(os.Args)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
fmt.Print(parser.Usage(err)) // 帮助 -h or --help
|
|
fmt.Print(parser.Usage(err)) // 帮助 -h or --help
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
- ReadBinFile(*_name, *_type, *_en, *_section)
|
|
|
|
|
|
|
+ ReadBinFile(*_name, *_type, *_en, *_section, *_addcheck)
|
|
|
}
|
|
}
|