1
    public void writeToCard2(string sourceText, string cardType)
    {
        Cursor.Current = Cursors.WaitCursor;

        int itemLength = sourceText.Split(',').Length;
        sourceText = itemLength.ToString() + "," + sourceText + ",";
        byte[] dataByteArray = Encoding.GetEncoding(932).GetBytes(sourceText);
        //textBox2.Text = BitConverter.ToString(dataByteArray);

        int dataByteLength = dataByteArray.Length;
        int writeLength = dataByteLength + 11;
        byte[] writeByteArray = new byte[writeLength];

        writeByteArray[0] = 0x02;//STX
        writeByteArray[1] = 0x00;//アドレス
        writeByteArray[2] = 0x78;//コマンド
        writeByteArray[3] = Convert.ToByte(dataByteLength + 4);//データ長
        writeByteArray[4] = 0xa1;//詳細コマンド
        writeByteArray[5] = 0x00;//書き込み開始ブロック番号
        writeByteArray[6] = Convert.ToByte(dataByteLength);//書き込みバイト数
        for (int i = 0; i < dataByteLength; i++)
        {
            writeByteArray[i + 7] = dataByteArray[i];//書き込みデータ
        }
        writeByteArray[dataByteLength + 7] = 0x40;//オプションフラグ
        writeByteArray[dataByteLength + 8] = 0x03;//ETX
        byte sum = 0x00;
        for (int i = 0; i <= dataByteLength + 8; i++)
        {
            sum += writeByteArray[i];
        }
        writeByteArray[dataByteLength + 9] = sum;//SUM値
        writeByteArray[dataByteLength + 10] = 0x0d;//CR

        //string tempStr = BitConverter.ToString(writeByteArray);

        //port.Write(writeByteArray, 0, writeByteArray.Length);
        serialPort1.Write(writeByteArray, 0, writeByteArray.Length);

        writeCardType = cardType;

        Cursor.Current = Cursors.Default;
    }

上記のメソッドは、行のrfidタグにデータを書き込みます

serialPort1.Write(writeByteArray, 0, writeByteArray.Length);

writeByteArrayは、 RFIDタグの制限を超えているデータのサイズです。上司は、データをasciiコードに変換してから、 RFIDに書き込むと言いました。

これは、この変換によってデータのサイズを減らすのに役立ちますか?

別のRFIDタグを使用せずに他の方法はありますか?

4

1 に答える 1

1

あなたの上司は、デバイスがバイトごとにバイト単位で情報を読み取る原因となるASCIIに変換するように言いました。私はそのデバイスで作業しましたが、これは、渡されたデータ ストリームを読み取る通常の方法です。

これには割り当ての利点はありません。データのサイズが同じままであるため、変更点は情報の表現です。あれは。

于 2012-07-12T08:54:11.717 に答える