很多RFID讀(dú)寫器的初次開發者不知道中文字符在IC卡中如何存儲(chǔ),本篇中我們将通過各種不同的代碼來演示中文字符如何通過RFID讀(dú)寫器讀(dú)和寫的。
最簡(jiǎn)單(dān)的例子就是C++的,例如:
char s[]="友我科技IC讀(dú)寫(xiě)器";
YW_WriteaBlock(ReaderID,BlockID,16,s)
尋卡後並(bìng)且密鑰認證通過後,即可調用函數YW_WriteaBlock将中文字符串寫到IC卡中,讀的時候參(cān)考以下例子:
char s[50];
memset(s,0,50);
YW_ReadaBlock(ReaderID,BlockID,16,s)
執行以上語句後(hòu),即可将IC卡中的中文讀(dú)到字符串s中。
Delphi中将中文字符通過(guò)RFID讀(dú)寫器讀(dú)寫到IC卡中,基本與C++中一樣。
delphi寫IC卡:
s: string;
s :='友我科技IC讀(dú)寫(xiě)器';
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中将中文字符讀(dú)寫到IC卡中稍微麻煩一些,需要借助一個函數将中文字符解析到一個編(biān)碼數組中。
VB中寫IC卡:
dim s as String;
dim StrCode() as Byte;
s="友我科技IC讀(dú)寫(xiě)器";
StrData = VBA.StrConv(s, vbFromUnicode)
YW_WriteaBlock(ReaderID,BlockID,16,StrData(0)) //由於(yú)每塊數據16字節, 這裏從Unicode編(biān)碼實際有18字節, 多餘的兩個字節被丢棄,實際應用中應該注意
VB中讀IC卡
dim s as String;
dim StrCode(16) as Byte;
YW_ReadaBlock(ReaderID,BlockID,16,StrData(0))
s = VBA.StrConv(StrData, vbUnicode)
