Just nu i M3-nätverket
Gå till innehåll

Char to Ascii


simkort

Rekommendera Poster

Här är det assci till char

hur får man char till ascii

 

 

 

 

 

 

private void button1_Click(object sender, System.EventArgs e) 
 { 

  for(int i = 0; i <=256; i++) 
  { 
       	listBox1.Items.Add((Convert.ToChar(i))+ "  =  " + i); 

  } 
 }

 private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
 {

 }

 

 

 

Länk till kommentar
Dela på andra webbplatser

Det fungerar att typcasta:

int v = (int)'a';

fast det är inte så snyggt.

 

Eller så kan man använda samma verktyg som i ditt exempel ovan:

Convert.ToInt32('a')

Inte svårare än så.

Länk till kommentar
Dela på andra webbplatser

Tack.

 

Men ändå så är det inte bra, här kan man bara ha en bokstav.

Hur gör man om man har en hel lång sträng med bokstäver.

Länk till kommentar
Dela på andra webbplatser

Man stegar igenom strängen bokstav för bokstav med exempelvis en For-slinga.

 

string s = "Hello World!";
for (int i = 0; i < s.Length;i++ )
{
this.textBox1.Text += Convert.ToInt32(s[i]);
}

Keep it simple!

 

Programmering handlar ALLTID om att försöka bryta ned problem i så små lösbara delar som det går. Ett exempel är det här ovan.

Tre problem lösta

1: Hur omvandlar jag ett tecken till ASCII?

2: Hur tar jag ut ett tecken ur en sträng?

3: Hur stegar jag genom en sträng?

Länk till kommentar
Dela på andra webbplatser

Jag rekommenderar hellre att man jobbar med listor och låter varje uppgift vara separat. Istället för att i samma loop sätta samman ascii-koderna och samtidigt slänga in dem i ett fält, skapa listan först och använd sedan dess resultat där det behövs.

Försök även nyttja alla nya språkkonstrukt som nyare versioner av C# och .Net erbjuder och försök lämna gamla spaghetti-liknande for-loopar till det förflutna.

 

string chars = "ABCDE";
List<char> list = chars.ToList<char>();
List<int> ascii = new List<int>();
list.ForEach(delegate(char ch)
{
  ascii.Add((int)ch);
});

Länk till kommentar
Dela på andra webbplatser

Snyggt Anjuna, en elegant lösning.

 

Mycket sant att man ska se till att använda de verktyg som står till buds.

Länk till kommentar
Dela på andra webbplatser

  • 2 veckor senare...

Hur gör man tillbaka från ascii jag får inte till det

skulle vilja ha tillbaka i textBox2 vad som jag skrev

i textBox1 sparade med button1, när jag klickar

på button2

 

 

 

 

 

[size="2"][color="#0000ff"][size="2"][color="#0000ff"]private[/color][/size][/color][/size][size="2"] [/size][size="2"][color="#0000ff"][size="2"][color="#0000ff"]void[/color][/size][/color][/size][size="2"] button1_Click([/size][size="2"][color="#0000ff"][size="2"][color="#0000ff"]object[/color][/size][/color][/size][size="2"] sender, EventArgs e)

{

[/size][size="2"][color="#0000ff"][size="2"][color="#0000ff"]string[/color][/size][/color][/size][size="2"] s2 = "";

[/size][size="2"][color="#0000ff"][size="2"][color="#0000ff"]string[/color][/size][/color][/size][size="2"] s = textBox1.Text; 

[/size][size="2"][color="#0000ff"][size="2"][color="#0000ff"]for[/color][/size][/color][/size][size="2"] ([/size][size="2"][color="#0000ff"][size="2"][color="#0000ff"]int[/color][/size][/color][/size][size="2"] i = 0; i < s.Length;i++ ) 

{ 

s2 += Convert.ToInt32(s[i]); 

[/size][size="2"][color="#008000"][size="2"][color="#008000"]//this.textBox1.Text += Convert.ToInt32(s[i]); 

[/color][/size][/color][/size][size="2"]

}





System.IO.StreamWriter StreamWriter1 = [/size][size="2"][color="#0000ff"][size="2"][color="#0000ff"]new[/color][/size][/color][/size][size="2"] System.IO.StreamWriter(@"C:\Nymapp\Test.txt");

StreamWriter1.Write(s2);

StreamWriter1.Close();

}

[/size][size="2"][color="#0000ff"][size="2"][color="#0000ff"]private[/color][/size][/color][/size][size="2"] [/size][size="2"][color="#0000ff"][size="2"][color="#0000ff"]void[/color][/size][/color][/size][size="2"] button2_Click([/size][size="2"][color="#0000ff"][size="2"][color="#0000ff"]object[/color][/size][/color][/size][size="2"] sender, EventArgs e)

{

System.IO.StreamReader StreamReader1 = [/size][size="2"][color="#0000ff"][size="2"][color="#0000ff"]new[/color][/size][/color][/size][size="2"] System.IO.StreamReader(@"C:\Nymapp\Test.txt");

String text = StreamReader1.ReadToEnd();

textBox2.Text = text;

StreamReader1.Close();

}

[/size][size="2"][color="#0000ff"][size="2"][color="#0000ff"]private[/color][/size][/color][/size][size="2"] [/size][size="2"][color="#0000ff"][size="2"][color="#0000ff"]void[/color][/size][/color][/size][size="2"] textBox1_TextChanged([/size][size="2"][color="#0000ff"][size="2"][color="#0000ff"]object[/color][/size][/color][/size][size="2"] sender, System.EventArgs e)

{



}

[/size][size="2"][color="#0000ff"][size="2"][color="#0000ff"]private[/color][/size][/color][/size][size="2"] [/size][size="2"][color="#0000ff"][size="2"][color="#0000ff"]void[/color][/size][/color][/size][size="2"] textBox2_TextChanged([/size][size="2"][color="#0000ff"][size="2"][color="#0000ff"]object[/color][/size][/color][/size][size="2"] sender, System.EventArgs e)

{



}

[/size]

 

Länk till kommentar
Dela på andra webbplatser

private void button1_Click(object sender, EventArgs e)

 

{

 

string s2 = "";

 

string s = textBox1.Text;

 

for (int i = 0; i < s.Length;i++ )

 

{

 

s2 += Convert.ToInt32(s);

 

//this.textBox1.Text += Convert.ToInt32(s);

 

}

 

 

 

 

 

System.IO.StreamWriter StreamWriter1 = new System.IO.StreamWriter(@"C:\Nymapp\Test.txt");

 

StreamWriter1.Write(s2);

 

StreamWriter1.Close();

 

}

 

private void button2_Click(object sender, EventArgs e)

 

{

 

System.IO.StreamReader StreamReader1 = new System.IO.StreamReader(@"C:\Nymapp\Test.txt");

 

String text = StreamReader1.ReadToEnd();

 

textBox2.Text = text;

 

StreamReader1.Close();

 

}

 

private void textBox1_TextChanged(object sender, System.EventArgs e)

 

{

 

 

 

}

 

private void textBox2_TextChanged(object sender, System.EventArgs e)

 

{

 

 

 

}

 

Länk till kommentar
Dela på andra webbplatser

Vad för program kopierar du in din kod ifrån? Varifrån kommer all Size och Color-taggar? Gör ett mellansteg i Notepad och se om taggarna försvinner.

 

Tillbaka till ASCII? Du har koden för det i ditt första inlägg

Convert.ToChar(i)

Tittar på din kod. Du har visst använt mitt exempel, ta Anjunas istället det är bättre...

 

I steg 1 skriver du dina resultat till en sträng med:

s2 += Convert.ToInt32(s);

Som du sedan skriver till fil. Problemet är att du inte för in något skiljetecken mellan värdena. Din fil kommer bara var en lång sträng av nummer, inga mellanrum eller annan separator, och då ASCII kan vara värden mellan 1 och 250 (typ) är det omöjligt att veta hur många ASCII tecken strängen består av.

 

Stoppa in något, exempelvis mellanslag, mellan varje tecken. Då kan du sedan när du läser in filen igen stega tecken för tecken.

Länk till kommentar
Dela på andra webbplatser

Color här är väl svart. Felet ligger inte hos mig, har kollat noga med det här programmet !!!

Det visar inga taggar eller annat som som jag inte sänt.

 

Går det att skriva in taggarna manuellt framför och efter koden.

Länk till kommentar
Dela på andra webbplatser

Color här är väl svart. Felet ligger inte hos mig, har kollat noga med det här programmet !!!

Det visar inga taggar eller annat som som jag inte sänt.

 

Går det att skriva in taggarna manuellt framför och efter koden.

 

Ja, det går...

Men klistra in texten, markera och klicka sedan på

post-8996-0-08948000-1291553181_thumb.png

Då fungerar kod-taggare som de ska. Men

vem har skrivit in [size ] -taggarna, de är inget som Eforum skriver in, det måste komma från dig. På något vis.

 

ed: fast nu blev det konstigt...

size-tag verkar finnas i forumet men...mmh.

kanske en god idé för dig att mellanlanda texten från din editor i Notepad...

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...