Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 21268|Resposta: 0

[Fonte] C# 2, 10, 16 e 16 e seus códigos ASCII

[Copiar link]
Publicado em 09/08/2016 10:22:40 | | |

C# 2, 10, 16 e 16 e seus códigos ASCII
            --------//Conversão de vários tipos de caracteres em C# para comunicação por porta serial------------


             Compreensão do comprimento dos caracteres
            string s = "Eu sou um soldado 2";
            int len = s. Comprimento; 6 personagens  
            byte[] sarr = System.Text.Encoding.Default.GetBytes(s);
            Len = sarr. Comprimento; 11 bytes  
           
            Não faz sentido converter um decimal para uma string, e ela deve ser convertida para o correspondente código ASCII
            int t1 = 81;
            String S1 = T1. ToString();
            Essa conversão decimal corresponde a caracteres ASCII para fazer sentido.
            s1 = ((char)t1). ToString();

            Hexadecimal para string: Isso não faz sentido. É a corda.
            int intAB = 0x16;
            s1 = intAB.ToString();
            Caracteres de hexadecimal a ASCII:
            byte babb = 0x45;
            string ass = ((char)babb). ToString();

            Cadeias ASCII para números decimais
            string tr = "2Ab Liu";
            string d ="";
            para (int i = 0; Eu < tr. Comprimento; i++)
            {
                int ii = (int)Convert.ToChar(tr. Substring(i, 1));
                d = d +" "+ ii.ToString();
            }

            Cadeia ASCII para número hexadecimal
            string s2 = "2Ab Liu";
            byte[] ba = System.Text.ASCIIEncoding.Default.GetBytes(s2);
            StringBuilder sb = novo StringBuilder();
            foreach (byte b em ba)
            {
                SB. Anexar(b.ParaCorda("x") + " ");
            }

            Hexadecimal a decimal
            int intA = 0x16; Ao definir, deve ser 0x  
            stringA = "16"; As cordas podem ser sem  
            int intA1 = Convert.ToInt32(intA);
            int intA2 = Convert.ToInt32(strA, 16);

            10 a 16
            strA = Convert.ToString(intA2, 16);


            De decimal a binário, hexadecimal é semelhante
            int int10 = 10;
            string str2 = Convert.ToString(int10,2);

            Binário para decimal
            int10 = Convert.ToInt32(str2,2);







//-------------------------------------------------------------------------------

Como o serialport em C# recebe um conjunto de números hexadecimais
Como o C# SerialPort recebe um conjunto de números hexadecimais, e como o programa deve ser escrito?
Melhor resposta
System.IO.Ports.SerialPort sp = novo System.IO.Ports.SerialPort("COM1");
int buffersize = 6;   O tamanho do número hexadecimal (digamos 6 bytes)
Byte[] buffer = novo Byte[buffersize];   Crie um buffer
sp. Leitura (buffer, 0, buffersize);    Lido do COM1

Esse conjunto de números hexadecimais é processado  


Porta serial C# envia dados
Pontos de recompensa: 5 - Tempo de resolução: 2009-10-19 21:15
Quero enviar um comando hexadecimal para a porta serial, a string de comando é: "00 00 00 1B 54 59 55 54 00 00 00 00 00 00 00 00 00 00 FF E1 00 05 00 0D 0A"
Como posso converter a string acima numericamente para que a porta serial do computador saiba que a string que enviei é hexadecimal? Suplemento de pergunta:
Quem tem um código de exemplo assim, por favor, me ajude, sou fabricante de hardware, não familiarizado com software, espero que o mestre possa fornecer um código detalhado, obrigado! Perguntador: daishuanqing - Estagiário Nível 1
Melhor resposta
Adicione uma referência: Microsoft.VisualBasic (é código C#, mas precisa ser referenciado.) )

Percorra os SerialPortNames com o seguinte para obter todas as portas seriais
Microsoft.VisualBasic.Devices.Computer pc = novo Microsoft.VisualBasic.Devices.Computer();
Foreach (string s em pc. Portas.NomesSerialPortNomes)
{
    this.comboBox1.Items.Add(s);
}

Depois, o nome da porta serial comName exibido é usado para obter o objeto de operação. Você pode abrir esta porta serial:

System.IO.Ports.SerialPort com = novo System.IO.Ports.SerialPort(comName);
com. Aberto();

Os dados podem então ser gravados na porta serial

Enviando dados para a porta serial:
com. WriteLine(this.textBox1.Text);
Arrays de bytes também podem ser escritos
com. Escrever(bArray,0,5); Refere-se aos 5 bytes começando de 0 que escrevem o array de bytes bArray

Os dados também podem ser aceitos:
com. ReadLine()
Também é possível ler bytes
com. ReadByte();


Por fim, está fechado:
com. Fechar();


Além disso, converta a cadeia hexadecimal em byte
byte b = Convert.ToByte("1A",16); Porta serial C# envia dados
Pontos de recompensa: 5 - Tempo de resolução: 2009-10-19 21:15
Quero enviar um comando hexadecimal para a porta serial, a string de comando é: "00 00 00 1B 54 59 55 54 00 00 00 00 00 00 00 00 00 00 FF E1 00 05 00 0D 0A"
Como posso converter a string acima numericamente para que a porta serial do computador saiba que a string que enviei é hexadecimal? Suplemento de pergunta:
Quem tem um código de exemplo assim, por favor, me ajude, sou fabricante de hardware, não familiarizado com software, espero que o mestre possa fornecer um código detalhado, obrigado! Perguntador: daishuanqing - Estagiário Nível 1
Melhor resposta
Adicione uma referência: Microsoft.VisualBasic (é código C#, mas precisa ser referenciado.) )

Percorra os SerialPortNames com o seguinte para obter todas as portas seriais
Microsoft.VisualBasic.Devices.Computer pc = novo Microsoft.VisualBasic.Devices.Computer();
Foreach (string s em pc. Portas.NomesSerialPortNomes)
{
    this.comboBox1.Items.Add(s);
}

Depois, o nome da porta serial comName exibido é usado para obter o objeto de operação. Você pode abrir esta porta serial:

System.IO.Ports.SerialPort com = novo System.IO.Ports.SerialPort(comName);
com. Aberto();

Os dados podem então ser gravados na porta serial

Enviando dados para a porta serial:
com. WriteLine(this.textBox1.Text);
Arrays de bytes também podem ser escritos
com. Escrever(bArray,0,5); Refere-se aos 5 bytes começando de 0 que escrevem o array de bytes bArray

Os dados também podem ser aceitos:
com. ReadLine()
Também é possível ler bytes
com. ReadByte();


Por fim, está fechado:
com. Fechar();


Além disso, converta a cadeia hexadecimal em byte
byte b = Convert.ToByte("1A",16);




Anterior:Criptografia e descriptografia ASCII em C#
Próximo:A WebAPI não suporta soluções alternativas para requisições entre domínios
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com