很多RFID讀寫器的初次開發者不知道中文字符在IC卡中如何存儲,本篇中我們將通過各種不同的代碼來演示中文字符如何通過RFID讀寫器讀和寫的。
最簡單的例子就是C++的,例如:
char s[]="友我科技IC讀寫器";
YW_WriteaBlock(ReaderID,BlockID,16,s)
尋卡后并且密鑰認證通過后,即可調用函數YW_WriteaBlock將中文字符串寫到IC卡中,讀的時候參考以下例子:
char s[50];
memset(s,0,50);
YW_ReadaBlock(ReaderID,BlockID,16,s)
執行以上語句后,即可將IC卡中的中文讀到字符串s中。
Delphi中將中文字符通過RFID讀寫器讀寫到IC卡中,基本與C++中一樣。
delphi寫IC卡:
s: string;
s :='友我科技IC讀寫器';
YW_WriteaBlock(ReaderID,BlockID,16,PChar(s))
delphi讀IC卡:
s: string;
ba:array[0..16] of byte;
ZeroMemory(@ba[0],16);
YW_ReadaBlock(ReaderID,BlockID,16,@ba[0])
s := StrPas(@ba[0]);
在VB中將中文字符讀寫到IC卡中稍微麻煩一些,需要借助一個函數將中文字符解析到一個編碼數組中。
VB中寫IC卡:
dim s as String;
dim StrCode() as Byte;
s="友我科技IC讀寫器";
StrData = VBA.StrConv(s, vbFromUnicode)
YW_WriteaBlock(ReaderID,BlockID,16,StrData(0)) //由于每塊數據16字節, 這里從Unicode編碼實際有18字節, 多余的兩個字節被丟棄,實際應用中應該注意
VB中讀IC卡
dim s as String;
dim StrCode(16) as Byte;
YW_ReadaBlock(ReaderID,BlockID,16,StrData(0))
s = VBA.StrConv(StrData, vbUnicode)