浏览代码

Merge branch 'master' of http://git.shengws.com/csx/gdyb

csx 2 年前
父节点
当前提交
30a0e8ff5e
共有 1 个文件被更改,包括 16 次插入6 次删除
  1. 16 6
      service/fj_service.go

+ 16 - 6
service/fj_service.go 查看文件

2478
 		fmt.Println("readcard is nil")
2478
 		fmt.Println("readcard is nil")
2479
 		readCard = DllDef.MustFindProc("read_cardinfo")
2479
 		readCard = DllDef.MustFindProc("read_cardinfo")
2480
 	}
2480
 	}
2481
-	var outputStr []byte
2482
-	var errMessageStr []byte
2483
-
2481
+	outputStr := make([]byte, 4096)
2482
+	errMessageStr := make([]byte, 2048)
2484
 	ret2, _, _ := readCard.Call((uintptr)(unsafe.Pointer(&inputStr[0])), uintptr(20000), (uintptr)(unsafe.Pointer(&outputStr[0])), (uintptr)(unsafe.Pointer(&errMessageStr[0])))
2483
 	ret2, _, _ := readCard.Call((uintptr)(unsafe.Pointer(&inputStr[0])), uintptr(20000), (uintptr)(unsafe.Pointer(&outputStr[0])), (uintptr)(unsafe.Pointer(&errMessageStr[0])))
2485
 	fmt.Println(string(outputStr))
2484
 	fmt.Println(string(outputStr))
2486
 	fmt.Println(string(errMessageStr))
2485
 	fmt.Println(string(errMessageStr))
2487
-	fmt.Println(":", ConvertToString(string(outputStr), "gbk", "utf-8"))
2488
-	fmt.Println(":", ConvertToString(string(errMessageStr), "gbk", "utf-8"))
2486
+	fmt.Println(":", ConvertToString(Remove0000(string(outputStr)), "gbk", "utf-8"))
2487
+	fmt.Println(":", ConvertToString(Remove0000(string(errMessageStr)), "gbk", "utf-8"))
2489
 	if ret2 != 0 {
2488
 	if ret2 != 0 {
2490
 		return "", ""
2489
 		return "", ""
2491
 	}
2490
 	}
2492
-	return ConvertToString(string(outputStr), "gbk", "utf-8"), ConvertToString(string(errMessageStr), "gbk", "utf-8")
2491
+	return ConvertToString(Remove0000(string(outputStr)), "gbk", "utf-8"), ConvertToString(Remove0000(string(errMessageStr)), "gbk", "utf-8")
2492
+}
2493
+
2494
+func Remove0000(s string) string {
2495
+	str := make([]rune, 0, len(s))
2496
+	for _, v := range []rune(s) {
2497
+		if v == 0 {
2498
+			continue
2499
+		}
2500
+		str = append(str, v)
2501
+	}
2502
+	return string(str)
2493
 }
2503
 }