非接触式IC卡 读写 问题

Forrest23 2010-12-24 04:51:52
用的明华的IC卡读写器,用rf_write函数写数据 "CSDN" 然后用 rf_read 读取的数据 会在 "CSDN"后面跟着一些看不见的字符

这个怎么处理 是我在写数据的问题,还是别的什么问题?怎样解决这个问题?


Private Function m1_ReadText(ByVal blockNo As Int16)
Dim value(15) As Byte
st = rf_read(_icdev, blockNo, value(0))
Dim strValue As String = String.Empty
If value.Length = 0 Then
Return ""
End If
strValue = System.Text.Encoding.Default.GetString(value).Trim
Return strValue
End Function


Private Function m1_writeText(ByVal blockNo As Int16, ByVal value As String) As Boolean
Dim strValue(15) As Byte
If value.Trim = "" Then
value = Space(2)
End If
strValue = System.Text.Encoding.Default.GetBytes(value)
st = rf_write(_icdev, blockNo, strValue(0))
If st = 0 Then
Return True
Else
Return False
End If
End Function

...全文
168 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Forrest23 2010-12-28
  • 打赏
  • 举报
回复
要自己判断 然后截掉那部分空数据
xuzysun 2010-12-25
  • 打赏
  • 举报
回复
对头!!
Forrest23 2010-12-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 vrhero 的回复:]

Dim value(15) As Byte

你申请了固定大小的缓冲区...读取时要把结束符(0x0或者去看接口文档)后的数据截断丢弃...
[/Quote]
发现了 截掉了 就好了
flyerwing 2010-12-24
  • 打赏
  • 举报
回复
估计是大虾说的了.
vrhero 2010-12-24
  • 打赏
  • 举报
回复
Dim value(15) As Byte

你申请了固定大小的缓冲区...读取时要把结束符(0x0或者去看接口文档)后的数据截断丢弃...

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧