コード例 #1
0
        /// <summary>
        /// Método de Decodificação da string binária para valores legíveis
        /// </summary>
        /// <param name="linhaBinaria">Descriptografa a string Binária no padrão GS1</param>
        public void Decript(string linhaBinaria)
        {
            int    posicaoInicial = 0;
            string part           = linhaBinaria.Substring(posicaoInicial, 8);

            this.Header     = EpcHeaders.GetName(part);
            posicaoInicial += 8;

            part            = linhaBinaria.Substring(posicaoInicial, 3);
            this.Filter     = Convert.ToInt32(part, 2).ToString();
            posicaoInicial += 3;

            part            = linhaBinaria.Substring(posicaoInicial, 3);
            this.Partition  = Convert.ToInt32(part, 2);
            posicaoInicial += 3;

            part = linhaBinaria.Substring(posicaoInicial, GiaiPartition.GetCompany(this.Partition));
            this.CompanyPrefix = Convert.ToInt64(part, 2);
            posicaoInicial    += GiaiPartition.GetCompany(this.Partition);

            part = linhaBinaria.Substring(posicaoInicial, GiaiPartition.GetItem(this.Partition));
            this.ItemReference = Convert.ToInt64(part, 2);
            posicaoInicial    += GiaiPartition.GetItem(this.Partition);
        }
コード例 #2
0
 /// <summary>
 /// Url EPC de Tag
 /// </summary>
 /// <returns></returns>
 public string EpcTagURI()
 {
     return($"urn:epc:tag:{this.Header}:{this.Filter}.{HelperConverter.fill(this.CompanyPrefix.ToString(), GiaiPartition.GetCompanyDigitos(this.Partition))}.{this.ItemReference}");
 }
コード例 #3
0
 /// <summary>
 /// Url EPC de identificação pura
 /// </summary>
 /// <returns></returns>
 public string EpcPureURI()
 {
     return($"urn:epc:id:giai:{HelperConverter.fill(this.CompanyPrefix.ToString(), GiaiPartition.GetCompanyDigitos(this.Partition))}.{this.ItemReference}");
 }
コード例 #4
0
        /// <summary>
        /// Método de Codificação segundo o Padrão EPC
        /// </summary>
        /// <returns>Objeto Simplicado do padrão</returns>
        public EPCSimplesDTO Encript()
        {
            string Header        = EpcHeaders.GetBin(this.Header);
            string Filter        = HelperConverter.fill(Convert.ToString(Convert.ToInt32(this.Filter), 2), 3);
            string Partition     = HelperConverter.fill(Convert.ToString(this.Partition, 2), 3);
            string CompanyPrefix = HelperConverter.fill(Convert.ToString(this.CompanyPrefix, 2), GiaiPartition.GetCompany(this.Partition));
            string ItemReference = HelperConverter.fill(Convert.ToString(this.ItemReference, 2), GiaiPartition.GetItem(this.Partition));

            string        BinString = $"{Header}{Filter}{Partition}{CompanyPrefix}{ItemReference}";
            EPCSimplesDTO retorno   = new EPCSimplesDTO();

            retorno.BarCode           = this.Barcode;
            retorno.EPCString         = EpcTagURI();
            retorno.HexadecimalString = HelperConverter.BinaryStringToHexString(BinString);
            return(retorno);
        }