Umlaute-Project
-
So, wie initianlierse ich das € zeichen in einem Char,?
const unsigned char c0 = static_cast<unsigned char>(*);// * ersetzenIch verstehs nicht.
-
Developer_X schrieb:
Ich verstehs nicht.
stimmt, unsigned char ist zu klein für Unicode.
-
danke
-
Also auf Wikipedia steht, dass z.B. die Nummer für das Zeichen ¢ (Cent)
das ist:0x00A2Wenn ich den Code runne:
const unsigned char c0 = static_cast<unsigned char>(0x00A2); //... cout << c0;bekomme ich als ausgabe aber nicht dieses Zeichen, sondern etwas ganz anderes, nämlich: ó .
Warum?
-
Weil es immer noch keinen Sinn macht die Unicode-Tabelle für einfache char zu nehmen.
http://de.wikipedia.org/wiki/Zeichensatz
http://de.wikipedia.org/wiki/ISO_8859-1
-
OK, danke euch allen, das hat mir echt weitergeholfen.
m.f.G. Developer_X
-
Geht leider immer noch nicht

Nach der Tabelle, müsste dieses Zeichen, ¡
dieser Code sein:
0xA1Wenn ich das so mache:
const unsigned char c0 = static_cast<unsigned char>(0xA1); // ... cout << c0;kommt dieses zeichen raus : í.
So sagt mir bitte was ich falsch mache
-
lies doch einfach mal mit cin € ein und lass dir den wert ausgeben
-
Das ist ja nicht zum aushalten
. Lies dir doch endlich mal die Antworten und die Links durch die du bekommen hast!const wchar_t c0 = 0x00A1; wcout << c0 << endl;
-
SeppJ schrieb:
Das ist ja nicht zum aushalten
. Lies dir doch endlich mal die Antworten und die Links durch die du bekommen hast!const wchar_t c0 = 0x00A1; wcout << c0 << endl;Dann kommt ,,í" in die Konsole,
So oder so, das ist doch echt mist.
Developer_x!
-
Developer_X schrieb:
SeppJ schrieb:
Das ist ja nicht zum aushalten
. Lies dir doch endlich mal die Antworten und die Links durch die du bekommen hast!const wchar_t c0 = 0x00A1; wcout << c0 << endl;Dann kommt ,,í" in die Konsole,
So oder so, das ist doch echt mist.
Developer_x!Wie gesagt, lies dir die Links durch. Deine Konsole gibt offensichtlich keinen Unicode aus, sondern eine erweiterte ASCII-Tabelle. Wenn A1 bei dir í ergibt, dann ist das wahrscheinlich Code page 437, was die Standardtabelle für englische Sprachen unter DOS-Konsolen ist. Eventuell auch 850 (westeuropäisch) oder 852 (mitteleuropäisch), die haben das í auch an dieser Stelle.
-
Ach ich lass das lieber, denn es gibt so viele Tabellen, ich lass es einfach gut sein. Normale Standard Latein Buchstaben tun es auch!
Trotzdem danke ich euch vielmals.
m.f.g. Developer_X
-
Developer_X schrieb:
[
Dann kommt ,,í" in die Konsole,
So oder so, das ist doch echt mist.
Developer_x!Voraussetzungen fürs begehrte Euro Symbol:
- die richtige Codepage
- die richtige Locale
- die richtige Schriftart der Console ( Lucida Console unter Windows )Cer Code sieht so aus:
system ( "chcp 65001" ); // system ( "chcp 1252" ); tuts auch. setlocale ( LC_ALL, "German" ); const wchar_t c0 = 0x20AC; // Das begehrte Euro Symbol wcout << c0 << endl; putchar(0x80); // Das begehrte Euro Symbol, anderer CodeUm die Schriftart must du dich manuell kümmern, zumindest kenne ich keine Funktion dafür.
-
Das absolute Minimum, was jeder Software-Entwickler wirklich unbedingt über Unicode und Zeichensätze wissen muss (keine Ausreden!)
http://www.joelonsoftware.com/articles/Unicode.html