public override byte[] Build() { if (string.IsNullOrEmpty(EncodeThis)) { return(new byte[0]); } // Se o usuário solicitar explicitamente o formulário 2, caso contrário, suponha 1 var m = (byte)(Form == 2 ? 69 : 4); var payload = Preamble(); payload.AddRange(new byte[] { 0x1D, 0x6B, m }); // modo 2 requer comprimento if (m == 69) { payload.Add((byte)EncodeThis.Length); } var bytes = System.Text.Encoding.ASCII.GetBytes(EncodeThis); payload.AddRange(bytes); // Forçar string terminando com nulo if (!EncodeThis.EndsWith("\0")) { payload.Add(0); } return(payload.ToArray()); }
/// <inheritdoc /> public override byte[] Build() { if (string.IsNullOrEmpty(EncodeThis)) { return(new byte[0]); } // If user explicitly asks for form 2, otherwise assume 1 var m = (byte)(Form == 2 ? 69 : 4); var payload = Preamble(); payload.AddRange(new byte[] { 0x1D, 0x6B, m }); // mode 2 requires length if (m == 69) { payload.Add((byte)EncodeThis.Length); } var bytes = System.Text.Encoding.ASCII.GetBytes(EncodeThis); payload.AddRange(bytes); // Force null terminated string if (!EncodeThis.EndsWith("\0")) { payload.Add(0); } return(payload.ToArray()); }
/// <summary> /// Codifica como Código 128. Qualquer caractere não suportado em sua configuração será omitido do código de barras final. Se alguma configuração ilegal for encontrada, uma payload vazia será retornada. /// </summary> /// <returns>Payload ou vazio em erro</returns> /// <inheritdoc /> public override byte[] Build() { if (string.IsNullOrEmpty(EncodeThis)) { return(new byte[0]); } // Se o usuário solicitar explicitamente o formulário 2, caso contrário, assuma 1 var m = (byte)(Form == 2 ? 73 : 8); var payload = Preamble(); payload.AddRange(new byte[] { 0x1D, 0x6B, m }); // modo 2 requer comprimento if (m == 73) { payload.Add((byte)EncodeThis.Length); } // Adicionar bytes de modo var mode = Mode == Modes.A ? 0x41 : Mode == Modes.B ? 0x42 : 0x43; payload.AddRange(new byte[] { 0x7B, (byte)mode }); var bytes = System.Text.Encoding.ASCII.GetBytes(EncodeThis); payload.AddRange(bytes); // Forçar sequência terminando com nulo if (!EncodeThis.EndsWith("\0")) { payload.Add(0); } return(payload.ToArray()); }