Convertire caratteri speciali

giovedì 13 aprile 2017 - 22.33
Tag Elenco Tags  C#  |  .NET 4.0  |  SQL Server 2008 R2  |  MySQL 5.5  |  Access (.mdb)  |  Javascript  |  CSS 3.0

secks Profilo | Senior Member

Salve a tutti.

Sto cercando una funzione che dato un char mi ritorni il numero della tabella ascii estesa:

ad esempio con il carattere "Ñ" ritorni 165, che corrisponde al codice CON ALT + 165 da tastiera numerica, invece con varie prove mi ritorna il numero 209.

Ad esempio ho fatto una semplice funzione:

        private Int32 AscW(String s)
        {
            char c = Convert.ToChar(s);
            short code = (short)c;

            return Convert.ToInt32(code);
        }

ma se gli passo come parametro "Ñ" ritorna 209 invece di 165.

In pratica la Ascw di vb con encondig del tastierino numerico in c# .

Qualche idea?

Paolo.

Jok83 Profilo | Junior Member

Ciao Secks

non so se hai già risolto, ad ogni modo secondo me il problema sta nella conversione in short che potenzialmente può non tornare il codice ASCII, io utilizzerei :

byte[] CodiciASCII = Encoding.ASCII.GetBytes(s); foreach(byte b in CodiciASCII) { Console.WriteLine(b); }

dovrebbe risolvere il problema per i caratteri speciali.

secks Profilo | Senior Member

Ok grazie.
Paolo.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5