新買的便攜式藍牙标簽列印機內建測試
- 起因
- 分析提供的SDK
- 開始使用藍牙測試工具進行測試列印
- 列印亂碼分析
- JAVA中Unicode轉ANCI
- 工具連結
起因
因為我有想将自己之前寫的Android藍牙測試工具庫再封裝成一個flutter插件,
于是雙十一買了一個提供SDK的便攜式藍牙标簽列印機。
然後這幾天到了…
分析提供的SDK
首先先分析店家提供的例子
口述一下核心部分實作:
例子采用的是一個開了一個列印機服務程序,提供AIDL,然後例子應用通過AIDL Binder服務程序去操作列印機, 藍牙連接配接部分的例子采用的是SPP連接配接沒什麼特别都是很正常的。
開始使用藍牙測試工具進行測試列印
檢視完核心部分于是我就直接用先用之前寫的Android藍牙測試工具進行連接配接測試。
連接配接成功後試了一下,發現自己複制過來的測試文本列印出來。全是亂碼。
列印亂碼分析
一頓分析,原來他的測試儲存的文本檔案是ANCI編碼的,然後讀取byte再通過Sokect發送到列印機。這意味着他機器裡接受的是ANCI編碼的位元組。
從提供的jar包裡面将文本弄出來後
而Android運作後輸入的都是Unicode的文本。于是列印出來的就都是亂碼。
JAVA中Unicode轉ANCI
改了後重新運作列印結果
工具連結
藍牙工具github連結: 藍牙測試連結.