很多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)