天天看點

新買的便攜式藍牙标簽列印機內建測試起因分析提供的SDK開始使用藍牙測試工具進行測試列印列印亂碼分析JAVA中Unicode轉ANCI工具連結

新買的便攜式藍牙标簽列印機內建測試

  • 起因
  • 分析提供的SDK
  • 開始使用藍牙測試工具進行測試列印
  • 列印亂碼分析
  • JAVA中Unicode轉ANCI
  • 工具連結

起因

因為我有想将自己之前寫的Android藍牙測試工具庫再封裝成一個flutter插件,

于是雙十一買了一個提供SDK的便攜式藍牙标簽列印機。

然後這幾天到了…

分析提供的SDK

首先先分析店家提供的例子

口述一下核心部分實作:

例子采用的是一個開了一個列印機服務程序,提供AIDL,然後例子應用通過AIDL Binder服務程序去操作列印機, 藍牙連接配接部分的例子采用的是SPP連接配接沒什麼特别都是很正常的。

開始使用藍牙測試工具進行測試列印

檢視完核心部分于是我就直接用先用之前寫的Android藍牙測試工具進行連接配接測試。

新買的便攜式藍牙标簽列印機內建測試起因分析提供的SDK開始使用藍牙測試工具進行測試列印列印亂碼分析JAVA中Unicode轉ANCI工具連結
新買的便攜式藍牙标簽列印機內建測試起因分析提供的SDK開始使用藍牙測試工具進行測試列印列印亂碼分析JAVA中Unicode轉ANCI工具連結
新買的便攜式藍牙标簽列印機內建測試起因分析提供的SDK開始使用藍牙測試工具進行測試列印列印亂碼分析JAVA中Unicode轉ANCI工具連結
新買的便攜式藍牙标簽列印機內建測試起因分析提供的SDK開始使用藍牙測試工具進行測試列印列印亂碼分析JAVA中Unicode轉ANCI工具連結
新買的便攜式藍牙标簽列印機內建測試起因分析提供的SDK開始使用藍牙測試工具進行測試列印列印亂碼分析JAVA中Unicode轉ANCI工具連結

連接配接成功後試了一下,發現自己複制過來的測試文本列印出來。全是亂碼。

新買的便攜式藍牙标簽列印機內建測試起因分析提供的SDK開始使用藍牙測試工具進行測試列印列印亂碼分析JAVA中Unicode轉ANCI工具連結

列印亂碼分析

一頓分析,原來他的測試儲存的文本檔案是ANCI編碼的,然後讀取byte再通過Sokect發送到列印機。這意味着他機器裡接受的是ANCI編碼的位元組。

新買的便攜式藍牙标簽列印機內建測試起因分析提供的SDK開始使用藍牙測試工具進行測試列印列印亂碼分析JAVA中Unicode轉ANCI工具連結

從提供的jar包裡面将文本弄出來後

新買的便攜式藍牙标簽列印機內建測試起因分析提供的SDK開始使用藍牙測試工具進行測試列印列印亂碼分析JAVA中Unicode轉ANCI工具連結

而Android運作後輸入的都是Unicode的文本。于是列印出來的就都是亂碼。

新買的便攜式藍牙标簽列印機內建測試起因分析提供的SDK開始使用藍牙測試工具進行測試列印列印亂碼分析JAVA中Unicode轉ANCI工具連結

JAVA中Unicode轉ANCI

新買的便攜式藍牙标簽列印機內建測試起因分析提供的SDK開始使用藍牙測試工具進行測試列印列印亂碼分析JAVA中Unicode轉ANCI工具連結

改了後重新運作列印結果

新買的便攜式藍牙标簽列印機內建測試起因分析提供的SDK開始使用藍牙測試工具進行測試列印列印亂碼分析JAVA中Unicode轉ANCI工具連結

工具連結

藍牙工具github連結: 藍牙測試連結.

繼續閱讀