如果将中文字符写到IC卡中

北京友我科技RFID读写器 转载请注明出处,本篇地址:http://www.youwokeji.com.cn/ywdn/NoteDetails.asp?id=17

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



支持的RFID读写器: