Jump to content

ajuda hex converte para liitle endian e unicode


Recommended Posts

Posted

boa noite ..

Entao minha duvida e assim, eu estou fazendo um programa, que o mesmo gera um codigo em HEX...

Eu ja fiz quase tudo so preciso de ajuda para 2 coisas importante...

1 - Entao e assim tenho o id do item. exemplo : 101150

ae eu passo para HEX e ele fica assim : 00018B1E

mas eu preciso que ele fique assim :1E8B 0100  ( acho que se chama Little Endian)..

Ae nao consigo fazer isso , ja tentei reverse , mas ae fica errado.

2 - Mais um problema, entao e assim, eu tenho o textbox que coloco o nome do item : Exemplo : Machado e passo para hex que fica :

4D61 6368 6164 6F

mas eu preciso que ele fique em UNICODe  : 4D00 6100 6300 6800 6100 6400 6F00

Por favor me ajudem neste problema...

Posted

    Bom dia,

    Mostra o código que tens feito. Duvido que alguém te coloque aqui a solução completa.

Cordiais cumprimentos,

Apocsantos

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Posted

entao e isto o que eu fiz, quando clika no butao, ele pega nos dados dos texbox e checkbox e gera um hexadecimal e coloka no textbox3.text

 private void button1_Click(object sender, EventArgs e)
        {


            int iditem2; iditem2 = Convert.ToInt32(textBox4.Text); string iditem = iditem2.ToString("X2");
            string chartype = null;
            string classe = null;
            string tipoitem = null;
            string acessorio = null;
             string moeda = null;
             string loja = null;
          string idnome2 = textBox1.Text; string idnome = ""; foreach (char c in idnome2) idnome += ((UInt64)c).ToString("x") + " ";
          string iddesc2 = textBox2.Text; string iddesc = ""; foreach (char c in iddesc2) iddesc += ((UInt64)c).ToString("x") + " ";
          int ataque2; ataque2 = Convert.ToInt16(textBox7.Text); string ataque = ataque2.ToString("X2");
          int level2; level2 = Convert.ToInt16(textBox10.Text); string level = level2.ToString("X2");
          int preco2; preco2 = Convert.ToUInt16(textBox8.Text); string preco = preco2.ToString("X4");
          int defesa2; defesa2 = Convert.ToInt16(textBox5.Text); string defesa = defesa2.ToString("X2");
          int hp2; hp2 = Convert.ToInt16(textBox6.Text); string hp = hp2.ToString("X2");
          if (checkBox1.Checked) { loja = "00"; } else { loja = "01"; }
          if (checkBox33.Checked) { moeda = "00"; } else if (checkBox35.Checked) { moeda = "00"; } else if (checkBox29.Checked) { moeda = "03"; } else if (checkBox34.Checked) { moeda = "01"; }
          if (checkBox6.Checked) { chartype = "01"; } else if (checkBox7.Checked) { chartype = "02"; } else if (checkBox8.Checked) { chartype = "04"; } else if (checkBox9.Checked) { chartype = "08"; } else if (checkBox10.Checked) { chartype = "10"; } else if (checkBox11.Checked) { chartype = "20"; } else if (checkBox12.Checked) { chartype = "3F"; }
          if (checkBox4.Checked) { classe = "00"; }else if(checkBox2.Checked) { classe = "01"; }else if(checkBox3.Checked) { classe = "02"; }else if(checkBox5.Checked) { classe = "03"; }else { classe = "00"; }
          if (checkBox13.Checked) { tipoitem = "02"; }else if(checkBox14.Checked) { tipoitem = "04"; }else if(checkBox15.Checked) { tipoitem = "08"; }else if(checkBox16.Checked) { tipoitem = "10"; }else if (checkBox17.Checked) { tipoitem = "20"; }else if(checkBox18.Checked) { tipoitem = "40"; }else if(checkBox19.Checked) { tipoitem = "00"; }else if(checkBox20.Checked) { tipoitem = "80"; }
          if (checkBox21.Checked) { acessorio = "01"; } else if (checkBox22.Checked) { acessorio = "08"; } else if (checkBox23.Checked) { acessorio = "20"; } else if (checkBox24.Checked) { acessorio = "10"; } else if (checkBox25.Checked) { acessorio = "40"; } else if (checkBox26.Checked) { acessorio = "04"; } else if (checkBox27.Checked) { acessorio = "80"; } else if (checkBox28.Checked) { acessorio = "02"; } else { acessorio = "00"; }
          textBox3.Text = "" + iditem + "" + idnome + "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + iddesc + "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFF" + chartype + "000000" + classe + "000000" + level + "000000FFFFFFFF" + tipoitem + "" + acessorio + "000000000000" + ataque + "000000" + defesa + "000000" + hp + "00000FFFFFFFF0000803F0000803F0000803F000000000000803F000000000000803F000000000000803F000000000000803F0000803F000000000000000000004E004F00540049004E0047000000CCCC0600000007000000CCCCCCCCCCCCCCCCF0D8D111CCCCCCCC68CA13000FF7544898BC1300F043570002000000A4BC1300EF7E4A005EBF130043F05448E0C01300CCCCCC01D4BB1300D4BB1300CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCD4BB1300CCCCCCCCCCCCCCCC0000CCCCCCCCCCCCCCCCCCCCCCCCCCCC0000000007000000CCCCCCCCCCCCCCCCCCCCCCCC0000CCCCCCCCCCCCCCCCCCCCCCCCCCCC0000000007000000CCCCCCCCCCCCCCCCCCCCCCCC" + moeda + "000000" + preco + "00000000000000FFFFFFFF000000000000000000000000000000000000000000"+ loja +"0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000FFFFFFFF";
        }

O que falta fazer e o iditem, que tenho que inverter como expliquei em cima, e o nome e descricao colokar 00 depois de cada caracter.

edit :

Primeiro problema resolvido :

  int iditem2; iditem2 = Convert.ToInt32(textBox4.Text); string iditem = iditem2.ToString("X8");
            string iditemnum2; iditemnum2 = iditem.Substring(0, 2); //00
            string iditemnum3; iditemnum3 = iditem.Substring(2, 2); //01
            string iditemnum4; iditemnum4 = iditem.Substring(4, 2); //8B
            string iditemnum5; iditemnum5 = iditem.Substring(6, 2); //1E
            iditem = "" + iditemnum5 + "" + iditemnum4 + "" + iditemnum3 + "" + iditemnum2 + "";

Nao e o melhor metodo mas funciona 🙂

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.