转换RFID字节以获得RFID串行卡号

时间:2014-03-06 04:26:39

标签: c# rfid

我将从标签获取的字节转换为序列号时遇到问题。

我从标签中得到这个字节: 2 52 66 48 48 65 57 55 70 57 48 48 68 13 10 3

我用C#编写代码,这是代码:

SerialPort port = new SerialPort("COM2", 9600, Parity.None, 8, StopBits.One);
port.Open();
while (true)
{
    if (port.BytesToRead > 0)
    {
        byte b = (byte)port.ReadByte();
        Console.WriteLine(b);
    }
}

port.Close();

标签序列号为:0011108240。

我试图将这些数字转换为ASCII,但我没有得到任何东西。 那么如何从我从标签收到的字节中获取0011108240?

这里是我从手册中获得的代码,它是用pascal写的,我不懂,有人可以告诉我怎么做?

function tform1.hextoint(input : string):longint;
var
    c,i : longint;
    input1 : string;
begin
    c:=0;
    input1:='';
    for i:=length(input) downto 1 do input1:=input1+input[i]+'';
    input1:=uppercase(input1);
    for i:=1 to length(input1) do
    begin
      if (input1[i] in ['A'..'F'])and(i>1)then
          c:=((ord(input1[i])-ord('A')+10) shl (4*(i-1)))or c
      else
      if (input1[i] in ['0'..'9'])and(i>1)then
          c:=((ord(input1[i])-ord('0')) shl (4*(i-1))) or c
      else
      if (input1[i] in ['A'..'F'])and(i=1)then
          c:=(ord(input1[i])-ord('A')+10) or c
      else
      if (input1[i] in ['0'..'9'])and(i=1)then
          c:=(ord(input1[i])-ord('0')) or c;
    end;
    result:=c;
end;

感谢。

0 个答案:

没有答案