Unicode in String umwandeln

Hallo,
Ich habe diesmal eine Frage zum Unicode:
Ich habe eine Zahl, z.B. 97. Diese entspricht dem kleinen „a“.

Nun möchte ich aber wissen, wie ich diese Unicode-Nummer in ein String, also zum „a“ umwandele.

Gruß
GURKE

Hi,
Hier ein Beispiel:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
 class Program
 {
 static void Main(string[] args)
 {
 UTF8Encoding utfe = new UTF8Encoding();
 Console.WriteLine(utfe.GetString(new byte[9] { 55, 179, 97, 91, 65, 5, 59, 84, 125 }));
 Console.ReadLine();
 }
 }
}

Ich glaube das ist selbsterklärend wenn nicht einfach schreiben.
Lg der einzigware

Hey,
Ich kann mich nur erneut bedanken!
Klappt so wie ich das will!

Gruß
GURKE

Hallo,

zum Umwandeln kenne ich auch noch chr bzw. chrw:
http://msdn.microsoft.com/de-de/library/613dxh46%28V…

Gruß
Thomas

Hi

Die wahrscheinlich einfachste (und unsicherste) Methode wäre

string str = ((char)97).ToString();

:wink:
MfG IGnow

Moin,
Danke für die weiteren Antworten!

Nun habe ich aber noch eine Frage zum Gegenteil, also String in Integer umwandeln.

Mein String sieht z.B. so aus:

string datei = "100971009810099";

Ich nehme immer 5 Ziffern und möchte sie zu einer Zahl zusammenpacken, um 10000 jeweils abziehen zu können.
(10097 besteht aus 97, Unicode für „a“ + 10000 um immer eine 5stelige Zahl zu haben)

int idatei = Convert.ToInt32(datei[i]) \* 10000 + Convert.ToInt32(datei[i + 1]) \* 1000 + Convert.ToInt32(datei[i + 2]) \* 100 + Convert.ToInt32(datei[i + 3]) \* 10 + Convert.ToInt32(datei[i + 4]);
  • i ist ein Integer einer Schleife und steigt jeweils um 5.

Wenn in diesem Falle string datei = „10097“ ist, kommt aber auf keinen Fall 10097 raus, sondern 543813!

Ein einfaches zusammenfügen als String ergibt 248!

Ist es also erstmal möglich, das ein Index ein Bereich (i -> i + 4) animmt?
Wenn nein, wie kann ich diese dann so zusammenfügen das ich auch wieder 10097 rausbekomme um als Integer weiter rechnen zu können.

Ich hoffe das war jetzt nicht zu umständlich ausgedrückt.

Gruß
GURKE

Hallo

Mal sehen ob ich das richtig verstanden habe:

string str = "10097100232842";
int i = int.Parse(str.Substring(0, 5));
char c = (char)(i - 10000); // enthält jetzt 'a'

Andersrum wäre:

char c = 'a';
int i = (int)c + 10000;
string str = int.ToString(); // enthält jetzt "10097"

Wars das? :smile:

MfG IGnow

1 Like

Moin,

Mal sehen ob ich das richtig verstanden habe:

Jop haste, aber ich hatte so selber meine Probleme worin das Prob bestand :smiley:

string str = „10097100232842“;
int i = int.Parse(str.Substring(0, 5));
char c = (char)(i - 10000); // enthält jetzt ‚a‘

Danke! Funktioniert wie üblich einwandfrei!

Andersrum wäre:

char c = ‚a‘;
int i = (int)c + 10000;
string str = int.ToString(); // enthält jetzt „10097“

Wars das? :smile:

Fürs erste schon, aber ich werde sicher weitere Fragen stellen xD

Gruß
GURKE