AJUDA COM CARACTERER ESPECIAL

RIQUINHORICO007 17/01/2017 23:11:58
#470793
Quando digito ALT + 133 no teclado aparece => à

Quando no VB6 faço o => Chr(133) aparece => ...
Quando no VB6 faço => Asc(...) me aparece => 133

Quando ou no C# faço => Asc => Convert.ToInt32(Convert.ToChar([Ô]...[Ô])) aparece => 8230
e quando vou no C# e faço o Char(133) não aparece nada mas se faço o Char(8230) aparece => ...

O lance é que tenho um programa de criptografia no vb6 q usa o Chr e o Asc e agora fui modernizar para o C# só que na conversão do Chr e Asc ñ bate as conversões. Já tive procurando na net... nas tabelas de conversões mas ñ achei muita coisa.
Se alguém souber de algo e puder explicar ou propor um método novo de criptografia eu agradeço.
KERPLUNK 17/01/2017 23:20:59
#470794
Qual cultura está utilizando?
RIQUINHORICO07 18/01/2017 10:54:50
#470810
Então KERPLUNK, a cultura não sei te dizer, só sei que quando faço estes comandos no vb6 aparece uma coisa e no C# aparece outro.
MARCELO.TREZE 18/01/2017 11:36:14
#470816
veja

MsgBox Asc([Ô]à[Ô])
LVFIOROT 18/01/2017 13:08:39
#470817
Resposta escolhida
.net trabalha com unicode 32 (vide F12 em cima das funções e leia o sumario)

tudo vai depender de como foi escrito antes, neste caso vb 6, usará o default do sistema, que geralmente é ANSI (1252)

veja os exemplos escritos no console.

string s0 = Encoding.ASCII.GetString(new byte[] { 133 });
string s1 = Encoding.BigEndianUnicode.GetString(new byte[] { 133 });
string s2 = Encoding.Unicode.GetString(new byte[] { 133 });
string s3 = Encoding.UTF32.GetString(new byte[] { 133 });
string s4 = Encoding.UTF7.GetString(new byte[] { 133 });
string s5 = Encoding.UTF8.GetString(new byte[] { 133 });
string s6 = Encoding.Default.GetString(new byte[] { 133 });
//Default = ANSI = 1252
string s7 = Encoding.GetEncoding(1252).GetString(new byte[] { 133 });

Console.WriteLine(s0);
Console.WriteLine(s1);
Console.WriteLine(s2);
Console.WriteLine(s3);
Console.WriteLine(s4);
Console.WriteLine(s5);
Console.WriteLine(s6);
Console.WriteLine(s7);
RIQUINHORICO07 18/01/2017 16:55:34
#470821
LVFIOROT, era oq precisava o s6 e s7 resolveu mais uma dúvida ao eu converter o ... p/ 133 > Convert.ToInt32(Convert.ToChar([Ô]...[Ô])) < aparece o codigo [Ô]8230[Ô] saberia me dizer qual meio uso para converter esse > ... < para chegar no numero 133 ??
KERPLUNK 19/01/2017 01:03:37
#470838
RIQUINHORICO07, você entendeu do que se trata o que o LVFIOROT passou de exemplo?
LVFIOROT 19/01/2017 11:26:34
#470842
Citação:

:
RIQUINHORICO07, você entendeu do que se trata o que o LVFIOROT passou de exemplo?



Pelo jeito não...

LVFIOROT 19/01/2017 11:40:07
#470843
Citação:

:
LVFIOROT, era oq precisava o s6 e s7 resolveu mais uma dúvida ao eu converter o ... p/ 133 > Convert.ToInt32(Convert.ToChar([Ô]...[Ô])) < aparece o codigo [Ô]8230[Ô] saberia me dizer qual meio uso para converter esse > ... < para chegar no numero 133 ??




escrever o arquivo:
File.WriteAllLines([Ô]c:    emp\exemplo.txt[Ô], [Ô]uhuuuu[Ô], Encoding.GetEncoding(1252));
Ler o arquivo:
var rf = File.ReadAllLines([Ô]c:    emp\exemplo.txt[Ô], Encoding.GetEncoding(1252));
RIQUINHORICO07 20/01/2017 11:35:15
#470878
LVFIOROT, eu entendi sim oq vc postou e me resolveu meio problema, na segunda postagem q ñ soube me expressar direito mas mesmo assim agradeço vc e todos q colaboraram. Eu acabei q deixando o código no vb6 mesmo mas futuramente com mais tempo vou terminar de reescrever o codigo em C#. vlw
Tópico encerrado , respostas não são mais permitidas